diff --git a/examples/go.mod b/examples/go.mod index 09fdd3e23b9..24ee1dd1a9e 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -3,7 +3,7 @@ module github.com/pulumi/pulumi-aws/examples/v6 go 1.21 require ( - github.com/aws/aws-sdk-go v1.44.334 + github.com/aws/aws-sdk-go v1.45.6 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 github.com/pulumi/pulumi-terraform-bridge/pf v0.16.0 github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 @@ -18,7 +18,8 @@ require ( // // We use this for gRPC based testing. replace ( - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e + github.com/hashicorp/terraform-provider-aws => ../upstream github.com/pulumi/pulumi-aws/provider/v6 => ../provider ) @@ -53,11 +54,11 @@ require ( github.com/Masterminds/semver v1.5.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect - github.com/YakDriver/regexache v0.7.0 // indirect + github.com/YakDriver/regexache v0.23.0 // indirect github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect - github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect @@ -70,46 +71,46 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.3.39 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4 // indirect github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/account v1.11.5 // indirect github.com/aws/aws-sdk-go-v2/service/acm v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/appconfig v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.0 // indirect github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.5 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5 // indirect github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.5 // indirect github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.5 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.2.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.115.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.117.0 // indirect github.com/aws/aws-sdk-go-v2/service/emrserverless v1.10.5 // indirect github.com/aws/aws-sdk-go-v2/service/finspace v1.12.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.5 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.2 // indirect github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.5 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.5.5 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.22.5 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.42.5 // indirect github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.5 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.39.5 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.5 // indirect github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/oam v1.2.5 // indirect github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.4.5 // indirect @@ -117,12 +118,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/pricing v1.21.6 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.16.5 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.9.5 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.54.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.3.5 // indirect github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.5 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.38.5 // indirect github.com/aws/aws-sdk-go-v2/service/s3control v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.2.5 // indirect github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.0 // indirect @@ -138,8 +139,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.5 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.1 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.1.7 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.29.5 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.30.0 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.17.5 // indirect github.com/aws/smithy-go v1.14.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect @@ -174,7 +175,7 @@ require ( github.com/google/go-cmp v0.5.9 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/s2a-go v0.1.4 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.3.1 // indirect github.com/google/wire v0.5.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.11.0 // indirect @@ -182,8 +183,8 @@ require ( github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 // indirect github.com/hashicorp/aws-sdk-go-base v1.1.0 // indirect - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.34 // indirect - github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35 // indirect + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35 // indirect + github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36 // indirect github.com/hashicorp/awspolicyequivalence v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -192,7 +193,7 @@ require ( github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.10 // indirect + github.com/hashicorp/go-plugin v1.5.1 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect @@ -202,20 +203,20 @@ require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/hashicorp/hc-install v0.5.2 // indirect + github.com/hashicorp/hc-install v0.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.17.0 // indirect + github.com/hashicorp/hcl/v2 v2.18.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.18.1 // indirect + github.com/hashicorp/terraform-exec v0.19.0 // indirect github.com/hashicorp/terraform-json v0.17.1 // indirect - github.com/hashicorp/terraform-plugin-framework v1.3.5 // indirect + github.com/hashicorp/terraform-plugin-framework v1.4.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect - github.com/hashicorp/terraform-plugin-framework-validators v0.11.0 // indirect - github.com/hashicorp/terraform-plugin-go v0.18.0 // indirect + github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-mux v0.11.2 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.28.0 // indirect - github.com/hashicorp/terraform-plugin-testing v1.4.0 // indirect + github.com/hashicorp/terraform-plugin-mux v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 // indirect + github.com/hashicorp/terraform-plugin-testing v1.5.1 // indirect github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 // indirect github.com/hashicorp/terraform-registry-address v0.2.2 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect @@ -287,24 +288,24 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.13.2 // indirect + github.com/zclconf/go-cty v1.14.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/otel v1.16.0 // indirect go.opentelemetry.io/otel/trace v1.16.0 // indirect go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.27.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.12.0 // indirect - golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.14.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/term v0.11.0 // indirect - golang.org/x/text v0.12.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/term v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.12.0 // indirect + golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/examples/go.sum b/examples/go.sum index 878242a155e..bdbb5dbb5f2 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -744,8 +744,6 @@ github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61 github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -756,9 +754,8 @@ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:H github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/YakDriver/regexache v0.7.0 h1:Mo0i2uUsRVbK+waHJ4+QPh/l7WknyQzCgAlMViSKa8w= -github.com/YakDriver/regexache v0.7.0/go.mod h1:mD8oVCndzUi1Qig4J/wY6aF5SOdqyyGopfTjP8ePBP8= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/YakDriver/regexache v0.23.0 h1:kv3j4XKhbx/vqUilSBgizXDUXHvvH1KdYekdmGwz4C4= +github.com/YakDriver/regexache v0.23.0/go.mod h1:K4BZ3MYKAqSFbYWqmbsG+OzYUDyJjnMEr27DJEsVG3U= github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= @@ -782,7 +779,6 @@ github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8V github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -799,8 +795,9 @@ github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFU github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= -github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= @@ -831,8 +828,8 @@ github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.334 h1:h2bdbGb//fez6Sv6PaYv868s9liDeoYM6hYsAqTB4MU= -github.com/aws/aws-sdk-go v1.44.334/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.45.6 h1:Y2isQQBZsnO15dzUQo9YQRThtHgrV200XCH05BRHVJI= +github.com/aws/aws-sdk-go v1.45.6/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.20.1/go.mod h1:NU06lETsFm8fUC6ZjhgDpVBcGZTFQ6XM+LZWZxMI4ac= @@ -864,8 +861,9 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35/go.mod h1:SJC1nEVVva1 github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.39 h1:fc0ukRAiP1syoSGZYu+DaE+FulSYhTiJ8WpVu5jElU4= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.39/go.mod h1:WLAW8PT7+JhjZfLSWe7WEJaJu0GNo0cKc2Zyo003RBs= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 h1:3L8pcjvgaSOs0zzZcMKzxDSkYKEpwJ2dNVDdxm68jAY= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4 h1:6lJvvkQ9HmbHZ4h/IEwclwv2mrTW8Uq1SOB/kXy0mfw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4/go.mod h1:1PrKYwxTM+zjpw9Y41KFtoJCQrJ34Z47Y4VgVbfndjo= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.20.5 h1:1w0ELQMC3AptxEFS4A+vJuhyIuC9IoNN2YxNKK5pSYQ= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.20.5/go.mod h1:zwKhX2c7u7XDz2ToVE+qunfyoy9+3AO0rZynN5TwXCc= github.com/aws/aws-sdk-go-v2/service/account v1.11.5 h1:UX7HDdPZwTmrr1zu1j8e9QNINZS2YSJ+DoxhnnPyJY8= @@ -876,8 +874,8 @@ github.com/aws/aws-sdk-go-v2/service/appconfig v1.18.5 h1:3SgSsuDoJ4I0DL+jBG4/2N github.com/aws/aws-sdk-go-v2/service/appconfig v1.18.5/go.mod h1:zk3+CYtLFK+Yo83oc+rARhvajxgM3rmxPRmoFpHTsNw= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.5 h1:nAZnFygNPs3I3LR9AR7rud21ESTiTTHXuLQ4KW4tO+0= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.5/go.mod h1:EwlbwoKCPpH81bmlIVk6XD91fh9fF7CKQlp8uxlndXE= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.3.5 h1:zHP6cVTySf0GF0IGflLeYYKCGZ6wT/SJUF8Iv4ZUz+0= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.3.5/go.mod h1:MrKI9BOSn2qulUfYxligb7ZKrYB1FtxjP5kcK3VxFoY= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.0 h1:wDRpDU1x+xSKfezFyMUA96wzwXDVN/TbBKr6EED6Muo= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.0/go.mod h1:MrKI9BOSn2qulUfYxligb7ZKrYB1FtxjP5kcK3VxFoY= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.5 h1:u0OiSC//5remFN6t5U9iYPemlKsEQ9qeC9bzF0JaJHo= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.5/go.mod h1:Jg/MLglEy39ieHbPCeU5SwPITQRSxqNDPU4S+46U0fg= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5 h1:/rXnxd9VGnTc5fLuSFKkWCy+kDP6CxXAIMvfJQEfx8U= @@ -890,14 +888,14 @@ github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.15.5 h1:b7bDtsqB+8 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.15.5/go.mod h1:+R1M0e1mBGJHBaxTLp82WxxSilNyf1Q+qVLfJR8HZRo= github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.5 h1:skslr/tHJOubH4XYmfmALEGj4DmbcdM2syJjFTcQ16o= github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.5/go.mod h1:8wE8pnkFdF6nX1Hh601TV0xWbnh6WRvcfBxHKUH/1LU= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.26.0 h1:0OCXZ9evtfVe4tF6AStPv9XsaS5JFXp8kS04QjZaaOc= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.26.0/go.mod h1:Gkyue3XuBLYclIqtJeE29geIeDDPqiKbTNIXilHy+34= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.0 h1:ElPIRobusgkavQ1B3Y28zxhEqsFVgcscxEAOoXx2NeI= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.0/go.mod h1:Gkyue3XuBLYclIqtJeE29geIeDDPqiKbTNIXilHy+34= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.5 h1:prlnnmX0PYoho7c8HWxxws2yDD0XK2G7W4tR9RaNIVs= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.5/go.mod h1:/kl14i35MzBB4oaVlmFVmTvdzTX5LiphIuRLyOJfoRU= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.2.5 h1:g3uG25wRpQTKplIgleFOnWmHF35LlZ1EJ/S1pvdgNL8= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.2.5/go.mod h1:XLn8/EbqX+qGri306t4IPUBi+VmphNcsR+OJRxPlGqg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.115.0 h1:/OcX8Q9qehNdPQInuYifmcsTir62q6ulmZByy/VkoeE= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.115.0/go.mod h1:0FhI2Rzcv5BNM3dNnbcCx2qa2naFZoAidJi11cQgzL0= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.117.0 h1:Yq39vbwQX+Xw+Ubcsg/ElwO+TWAxAIAdrREtpjGnCHw= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.117.0/go.mod h1:0FhI2Rzcv5BNM3dNnbcCx2qa2naFZoAidJi11cQgzL0= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.10.5 h1:hhQPiPD696RlbY56NsMYVnVsS9ySrZc6eYC9yafauPk= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.10.5/go.mod h1:uRIY0k05TXMGGlHeRxDDhWT9oBqcGbbEBN3gqk9Njos= github.com/aws/aws-sdk-go-v2/service/finspace v1.12.0 h1:qFaAEplUoebyUb2m0I3IgPK9hEZYL2zSDIW9lGMdfe4= @@ -910,14 +908,16 @@ github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.5 h1:1Le4qAgyQeFC16PG+Yjkw github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.5/go.mod h1:adcoUzvmADFsiroi4JC+krUZldrWM7qRD65QtFb1Cm8= github.com/aws/aws-sdk-go-v2/service/iam v1.22.5 h1:qGv+oW4uV1T3kbE9uSYEfdZbo38OqxgRxxfStfDr4BU= github.com/aws/aws-sdk-go-v2/service/iam v1.22.5/go.mod h1:8lyPrjQczmx72ac9s82zTjf9xLqs7uuFMG9TVEZ07XU= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.17.6 h1:1+CSnP3TCGEnv6D12IRIPp5pgvbFuc5zzfZCpPjCtDw= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.17.6/go.mod h1:uP4598oNnSTY5AClqIoK6QHQnwz7cuRS8CBkVMXuxOU= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.2 h1:O7WJ9/aC2kKzZ5hF41ZILnO17v6+7mgBpTzeVjPqk+U= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.2/go.mod h1:uP4598oNnSTY5AClqIoK6QHQnwz7cuRS8CBkVMXuxOU= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.6 h1:HhLDyWzcq1QAQM9/D6r49CA1NX7mSuE77XruZ/GM0tI= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.6/go.mod h1:ZThso1NAB0Pt7ZHiE8QjGxZsdSq3yE3IHTO8DSsIj0Y= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 h1:4n4KCtv5SUoT5Er5XV41huuzrCqepxlW3SDI9qHQebc= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 h1:7LJcuRalaLw+GYQTMGmVUl4opg2HrDZkvn/L3KvIQfw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14 h1:m0QTSI6pZYJTk5WSKx3fm5cNW/DCicVzULBgU/6IyD0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36 h1:eev2yZX7esGRjqRbnVk1UxMLw4CyVZDpZXRCcy75oQk= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36/go.mod h1:lGnOkH9NJATw0XEPcAknFBj3zzNTEGRHtSw+CwC1YTg= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35 h1:UKjpIDLVF90RfV88XurdduMoTxPqtGHZMIDYZQM7RO4= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35/go.mod h1:B3dUg0V6eJesUTi+m27NUkj7n8hdDKYUpxj8f4+TqaQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= @@ -927,12 +927,12 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35/go.mod h1:QG github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4 h1:v0jkRigbSD6uOdwcaUQmgEwG1BkPfAPDqaeNt/29ghg= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4/go.mod h1:LhTyt8J04LL+9cIt7pYJ5lbS/U98ZmXovLOR/4LUsk8= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.4 h1:Z8nFbf7CA6EkECh+fJytql+Wfxh36U/UYl/tE6Khsu0= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.4/go.mod h1:hpwVO3hkEYV1GQuqbF3BBOiH9e0TZ4Z1ExHF+id7uBI= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.5 h1:shAdMINk6R1ibmTWKxfS5cE0S/UXaD79F6hPYAs8QiM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.5/go.mod h1:hpwVO3hkEYV1GQuqbF3BBOiH9e0TZ4Z1ExHF+id7uBI= github.com/aws/aws-sdk-go-v2/service/ivschat v1.5.5 h1:K4jLfsb6qc9HMJiM/ZnN8mT/OqwOdphb5sIKfD6FVEo= github.com/aws/aws-sdk-go-v2/service/ivschat v1.5.5/go.mod h1:xHhVCdz3qnP1/7wVdx9fJGKVHcOpZcIu2pAe6aOBe+c= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.5 h1:mjVeyUmOE9wAIc7Uokfy9DNDWPcgMSWwbiXZgoC865E= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.5/go.mod h1:uXijjFwDzFVyGUwtXqqEPV/SxxLPrh0LqJxe64Csr7E= +github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6 h1:DyJVI9uQB+mO4IuKEE4AloqOvo9XFg7olhZkwWZJ7wc= +github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6/go.mod h1:uXijjFwDzFVyGUwtXqqEPV/SxxLPrh0LqJxe64Csr7E= github.com/aws/aws-sdk-go-v2/service/kendra v1.42.5 h1:Ieo1GoXJ4Dv/zbpsoeHzA2zSMRSJNRGeVBQLia9trBg= github.com/aws/aws-sdk-go-v2/service/kendra v1.42.5/go.mod h1:q/QiSWwiP6iYTbRV5Tng7+x9MTMFxzwawh3uIyFcD+A= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.5 h1:Z4qTRZdPJHmd5yGdY/4dL712MF5A/PvtfJS8JFcYrow= @@ -945,8 +945,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.5 h1:vI9ar8zMH9oJ0ywJU184 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.5/go.mod h1:BsjYt3w75hHFse6bzZt4Lvzdl2yKESDV6WIOOVOQsUU= github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.5 h1:IFT75uoZ5Ohcpb0sf7NQTF0Tyx8SmfCMz9IQGjyztXQ= github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.5/go.mod h1:nh/y5+FgVxvjrwd2myeB92rKKJVMkxZem3irP3/bT28= -github.com/aws/aws-sdk-go-v2/service/medialive v1.35.0 h1:N1PUKTdG9zb0FEc3c2tYngdx6mkk3blAXYMBsy1dXd0= -github.com/aws/aws-sdk-go-v2/service/medialive v1.35.0/go.mod h1:oBjVE7s8Z2RQtKxCgHavkhkAu0m54h4YCjXivPR/BhQ= +github.com/aws/aws-sdk-go-v2/service/medialive v1.36.0 h1:mRqlEFkUAvz0EIEwXA6Vxz94HiffbRKEI7hhhLislAo= +github.com/aws/aws-sdk-go-v2/service/medialive v1.36.0/go.mod h1:oBjVE7s8Z2RQtKxCgHavkhkAu0m54h4YCjXivPR/BhQ= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.3 h1:lC+4aTyl6yZ59X2Ek0FBg2loD0R048dE/Hnje0tSg3s= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.3/go.mod h1:GgF8CYrl3uUOa9NGOKLZUptq5A3hORrAG9rGR6KaHt0= github.com/aws/aws-sdk-go-v2/service/oam v1.2.5 h1:YTtQSRE+Rb4pXTCl+4VKWm+tEttGmTFVmq3uFKr4ZAY= @@ -961,8 +961,8 @@ github.com/aws/aws-sdk-go-v2/service/qldb v1.16.5 h1:mmCoa7WmiISEuCOwNU63Mq9Nnfu github.com/aws/aws-sdk-go-v2/service/qldb v1.16.5/go.mod h1:/IZjlXFU0ksm6rph+YFQJHzLySx6kNNOvRNNHf/2Adg= github.com/aws/aws-sdk-go-v2/service/rbin v1.9.5 h1:1q9FkL4ET0xAlqmfgg7fmTkelSkHR3wQTsWSAu1E1jU= github.com/aws/aws-sdk-go-v2/service/rbin v1.9.5/go.mod h1:edL1v6p099PQSzuByMelJQ3jXa1i59Dk/3NdAwpvcuY= -github.com/aws/aws-sdk-go-v2/service/rds v1.53.0 h1:+PNNWmjp8VeoU6mtRkzPerlhI818uuI4hf/Td8GEjp8= -github.com/aws/aws-sdk-go-v2/service/rds v1.53.0/go.mod h1:UNv1vk1fU1NJefzteykVpVLA88w4WxB05g3vp2kQhYM= +github.com/aws/aws-sdk-go-v2/service/rds v1.54.0 h1:FmExQnV6PXPAwP2DT3nXlWyKtCJ30gCEQIu4MUOuESo= +github.com/aws/aws-sdk-go-v2/service/rds v1.54.0/go.mod h1:UNv1vk1fU1NJefzteykVpVLA88w4WxB05g3vp2kQhYM= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.5 h1:iIRfLBX36lMn7vXdaVF1PZV/jiBXeUpiL2KHkGOjVsc= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.5/go.mod h1:q++QEMyKK3FcyuHOuab73F3mtkmP/Xu25VkMSEgqpE0= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.3.5 h1:eoLzO6Wd94zk5vFFzqkPfWah27oEnNw+SyJ19+Mhu0c= @@ -971,8 +971,9 @@ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.5 h1:tfmJZFDrma1cgraLRuE github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.5/go.mod h1:vXPkNV5GGPdMjRRNzO45nX3qsNTgB5lP19Tk4Go30xQ= github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.3 h1:aaHlZb06fyEQ3uqEVJiN3hLt8syCzX+tWZiz40S4c0Y= github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.3/go.mod h1:SK+5R1cYgVgSfBGi9T/gPGNIuLInF3eIRYNruia62rg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 h1:NvzGue25jKnuAsh6yQ+TZ4ResMcnp49AWgWGm2L4b5o= github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/s3 v1.38.5 h1:A42xdtStObqy7NGvzZKpnyNXvoOmm+FENobZ0/ssHWk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.38.5/go.mod h1:rDGMZA7f4pbmTtPOk5v5UM2lmX6UAbRnMDJeDvnH7AM= github.com/aws/aws-sdk-go-v2/service/s3control v1.33.0 h1:f4qHghGTcns4L4F7u8AHH6pcVLwgtTMNkNZeRJZ5xlA= github.com/aws/aws-sdk-go-v2/service/s3control v1.33.0/go.mod h1:YSdqo9knBVm5H3JVmWDhx9Wts9828nColUJzL3OKXDk= github.com/aws/aws-sdk-go-v2/service/scheduler v1.2.5 h1:AGRPn7Hef59Eb9zfXjf6MGn0xRPpO73dIV8u8pfo5Z8= @@ -1012,10 +1013,10 @@ github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.5 h1:l0lxYW7VgLkYhD0r0WOyB github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.5/go.mod h1:EVrV4Pc8rVQ2YEk0UHpMQz//eR0cZDAa9zb+iUNyh4o= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.1 h1:EzuBm6kVbBJz/gjiFfTkKbZ2TEN0I7lVivnhuY00Niw= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.1/go.mod h1:Gms6hFsMoL+YRK+iz4F9Wj+0kD36Ubl6bybgn6LYSWQ= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.1.7 h1:R+DilTfQIqOR95ODE2da9RnQQn+ghS5H7IKNmW9dna0= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.1.7/go.mod h1:oWjSy90mvTKVnVg2PwxA5hKVijL8Jy7A5ZC53zi/pOQ= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.29.5 h1:WE+Y5exd/Jowh2eVl2vmdmAlyyscE3Q7vvkKXMNGKAM= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.29.5/go.mod h1:AVjfc8q87mKUZgiW4NjqJgG1OzcFIO6OHyfkOQSrPSY= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.0 h1:0Y3YrUdOj269PHsmfWRPN6unDyTDWiJan/x0UN5QA00= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.0/go.mod h1:oWjSy90mvTKVnVg2PwxA5hKVijL8Jy7A5ZC53zi/pOQ= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.30.0 h1:1GTubIlhB61KhkJAyCU6WrkGWaORev9medal9jaKFoE= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.30.0/go.mod h1:AVjfc8q87mKUZgiW4NjqJgG1OzcFIO6OHyfkOQSrPSY= github.com/aws/aws-sdk-go-v2/service/xray v1.17.5 h1:fJ7KMcuZXBfmK0A8ZfMZIKle0/WuiZwOl+JDpR+LV4I= github.com/aws/aws-sdk-go-v2/service/xray v1.17.5/go.mod h1:aE2t25bCn8YrfL6faz73m5Q/7gKa25HjCoa+z6OQMG4= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= @@ -1047,6 +1048,7 @@ github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= @@ -1054,7 +1056,6 @@ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx2 github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -1101,7 +1102,6 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -1305,9 +1305,9 @@ github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8E github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 h1:RIB4cRk+lBqKK3Oy0r2gRX4ui7tuhiZq2SuTtTCi0/0= github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= @@ -1343,7 +1343,6 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -1371,7 +1370,6 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= @@ -1380,19 +1378,13 @@ github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3 github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-git/go-git/v5 v5.6.1/go.mod h1:mvyoL6Unz0PiTQrGQfSfiLFhBH1c1e84ylC2MDs4ee8= github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -1639,8 +1631,9 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= @@ -1701,10 +1694,10 @@ github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 h1:IUypt/ github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0/go.mod h1:cdTE6F2pCKQobug+RqRaQp7Kz9hIEqiSvpPmb6E5G1w= 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.34 h1:WH0OOrhZe6wzOnA+ra0ZV0+5BWSElVriWmudH2S2cFw= -github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.34/go.mod h1:cR5oVK+h10mSG4T9eHaBAYfacxUlYI5vNfJuIRMGfMA= -github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35 h1:FLgIkz1RPYkYG62Q+u7M/JtU2tEKPUDMeDH+WtZ04ic= -github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35/go.mod h1:AQknW73NE5hbAZn/ruNomae0OJUNf5xzsAi6yDndWgs= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35 h1:07rX0OEHNSmD4TXQzHcVnaZJGYXaSaJR4ZhN8/bBRY4= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35/go.mod h1:cR5oVK+h10mSG4T9eHaBAYfacxUlYI5vNfJuIRMGfMA= +github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36 h1:xfEmtc8kXanlT5O9m1xqYXJRgsz5m1uBzeAFcq5wBh4= +github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36/go.mod h1:AQknW73NE5hbAZn/ruNomae0OJUNf5xzsAi6yDndWgs= github.com/hashicorp/awspolicyequivalence v1.6.0 h1:7aadmkalbc5ewStC6g3rljx1iNvP4QyAhg2KsHx8bU8= github.com/hashicorp/awspolicyequivalence v1.6.0/go.mod h1:9IOaIHx+a7C0NfUNk1A93M7kHd5rJ19aoUx37LZGC14= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= @@ -1753,8 +1746,8 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= -github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= +github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= +github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= @@ -1794,15 +1787,14 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hc-install v0.5.0/go.mod h1:JyzMfbzfSBSjoDCRPna1vi/24BEDxFaCPfdHtM5SCdo= -github.com/hashicorp/hc-install v0.5.2 h1:SfwMFnEXVVirpwkDuSF5kymUOhrUxrTq3udEseZdOD0= -github.com/hashicorp/hc-install v0.5.2/go.mod h1:9QISwe6newMWIfEiXpzuu1k9HAGtQYgnSH8H9T8wmoI= +github.com/hashicorp/hc-install v0.6.0 h1:fDHnU7JNFNSQebVKYhHZ0va1bC6SrPQ8fpebsvNr2w4= +github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= -github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= -github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/hashicorp/hcl/v2 v2.18.0 h1:wYnG7Lt31t2zYkcquwgKo6MWXzRUDIeIVU5naZwHLl8= +github.com/hashicorp/hcl/v2 v2.18.0/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= 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/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -1814,32 +1806,28 @@ github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79 github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4= -github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= +github.com/hashicorp/terraform-exec v0.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM= +github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk= -github.com/hashicorp/terraform-json v0.17.0/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= -github.com/hashicorp/terraform-plugin-framework v1.3.5 h1:FJ6s3CVWVAxlhiF/jhy6hzs4AnPHiflsp9KgzTGl1wo= -github.com/hashicorp/terraform-plugin-framework v1.3.5/go.mod h1:2gGDpWiTI0irr9NSTLFAKlTi6KwGti3AoU19rFqU30o= +github.com/hashicorp/terraform-plugin-framework v1.4.0 h1:WKbtCRtNrjsh10eA7NZvC/Qyr7zp77j+D21aDO5th9c= +github.com/hashicorp/terraform-plugin-framework v1.4.0/go.mod h1:XC0hPcQbBvlbxwmjxuV/8sn8SbZRg4XwGMs22f+kqV0= 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-validators v0.11.0 h1:DKb1bX7/EPZUTW6F5zdwJzS/EZ/ycVD6JAW5RYOj4f8= -github.com/hashicorp/terraform-plugin-framework-validators v0.11.0/go.mod h1:dzxOiHh7O9CAwc6p8N4mR1H++LtRkl+u+21YNiBVNno= -github.com/hashicorp/terraform-plugin-go v0.16.0/go.mod h1:4sn8bFuDbt+2+Yztt35IbOrvZc0zyEi87gJzsTgCES8= -github.com/hashicorp/terraform-plugin-go v0.18.0 h1:IwTkOS9cOW1ehLd/rG0y+u/TGLK9y6fGoBjXVUquzpE= -github.com/hashicorp/terraform-plugin-go v0.18.0/go.mod h1:l7VK+2u5Kf2y+A+742GX0ouLut3gttudmvMgN0PA74Y= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= +github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= +github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= -github.com/hashicorp/terraform-plugin-mux v0.11.2 h1:XMkAmWQN+6F+l4jwNeqdPom/8Vly6ZNDxHoKjiRHx5c= -github.com/hashicorp/terraform-plugin-mux v0.11.2/go.mod h1:qjoF/pI49rILSNQzKIuDtU+ZX9mpQD0B8YNE1GceLPc= +github.com/hashicorp/terraform-plugin-mux v0.12.0 h1:TJlmeslQ11WlQtIFAfth0vXx+gSNgvMEng2Rn9z3WZY= +github.com/hashicorp/terraform-plugin-mux v0.12.0/go.mod h1:8MR0AgmV+Q03DIjyrAKxXyYlq2EUnYBQP8gxAAA0zeM= github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= -github.com/hashicorp/terraform-plugin-testing v1.4.0 h1:DVIXxw7VHZvnwWVik4HzhpC2yytaJ5FpiHxz5debKmE= -github.com/hashicorp/terraform-plugin-testing v1.4.0/go.mod h1:b7Bha24iGrbZQjT+ZE8m9crck1YjdVOZ8mfGCQ19OxA= -github.com/hashicorp/terraform-registry-address v0.2.1/go.mod h1:BSE9fIFzp0qWsJUUyGquo4ldV9k2n+psif6NYkBRS3Y= +github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c= +github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0= github.com/hashicorp/terraform-registry-address v0.2.2 h1:lPQBg403El8PPicg/qONZJDC6YlgCVbWDtNmmZKtBno= github.com/hashicorp/terraform-registry-address v0.2.2/go.mod h1:LtwNbCihUoUZ3RYriyS2wF/lGPB6gF9ICLRtuDk7hSo= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= @@ -1879,8 +1867,8 @@ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= +github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -1931,7 +1919,11 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -1967,7 +1959,6 @@ github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaR github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= @@ -2360,8 +2351,8 @@ github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWnt github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d h1:DfAVBLi3G5hXbqiWs9wIGYZXF1VZu6+9kbl2CQO6cOE= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d/go.mod h1:cUEP4ly/nxlHy5HzD6YRrHydtlheGvGRJDhiWqqVik4= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e h1:blSirnXqvm8JXLxwxelsBroUNRhOHakDO7cgJUYTdpQ= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= @@ -2371,6 +2362,7 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -2430,7 +2422,7 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -2537,16 +2529,13 @@ github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6Ac github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= @@ -2578,11 +2567,11 @@ github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLE github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.14.0 h1:/Xrd39K7DXbHzlisFP9c4pHao4yyf+/Ug9LEz+Y/yhc= +github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= @@ -2699,7 +2688,6 @@ golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= @@ -2735,19 +2723,16 @@ golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= -golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2763,8 +2748,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb h1:mIKbk8weKhSeLH2GmUTrvx8CjkyJmnU1wFmg59CUjFA= -golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -2809,7 +2794,6 @@ golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2868,7 +2852,6 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= @@ -2907,7 +2890,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3068,7 +3052,6 @@ golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -3124,9 +3107,9 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3141,9 +3124,9 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= -golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3160,9 +3143,9 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3271,8 +3254,8 @@ golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= -golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 h1:Vve/L0v7CXXuxUmaMGIEK/dEeq7uiqb5qBgQrZzIE7E= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -3516,11 +3499,16 @@ google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVix google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3574,7 +3562,6 @@ google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsA google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -3593,6 +3580,7 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= @@ -3643,7 +3631,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= diff --git a/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch b/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch index c714ebc94f3..af0b222d347 100644 --- a/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch +++ b/patches/0001-Add-TagsSchemaTrulyComputed-definition.patch @@ -1,4 +1,4 @@ -From 3e5ecb8c064f9b763d45f658193e20eb3ed80eb5 Mon Sep 17 00:00:00 2001 +From 009fe6e399f5fa31f75deb8aae3e6b1949dbb6b1 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 16:49:08 +0000 Subject: [PATCH 01/29] Add TagsSchemaTrulyComputed definition diff --git a/patches/0002-Conns-user-agent.patch b/patches/0002-Conns-user-agent.patch index 099ee4b9591..04a3ac153e5 100644 --- a/patches/0002-Conns-user-agent.patch +++ b/patches/0002-Conns-user-agent.patch @@ -1,4 +1,4 @@ -From da1bdae365c2b57670f2b5891893a82d3a618864 Mon Sep 17 00:00:00 2001 +From 473d2ad185ac402ca13b24b75619304a68b970b0 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:03:31 +0000 Subject: [PATCH 02/29] Conns user agent diff --git a/patches/0003-Add-S3-legacy-bucket-to-resources.patch b/patches/0003-Add-S3-legacy-bucket-to-resources.patch index 0ed71e41a15..997c7230920 100644 --- a/patches/0003-Add-S3-legacy-bucket-to-resources.patch +++ b/patches/0003-Add-S3-legacy-bucket-to-resources.patch @@ -1,4 +1,4 @@ -From f844f520d7da553aef6252b4e754aea006f8c7cd Mon Sep 17 00:00:00 2001 +From e14abc584f95100d86baece969d2ce04de601409 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:05:11 +0000 Subject: [PATCH 03/29] Add S3 legacy bucket to resources @@ -41,55 +41,55 @@ https://github.com/hashicorp/terraform-provider-aws/pull/29717. create mode 100644 website/docs/r/s3_bucket_legacy.html.markdown diff --git a/go.mod b/go.mod -index 9762de454c..eb0bc4340b 100644 +index 35413c5d11..1e27adb219 100644 --- a/go.mod +++ b/go.mod -@@ -70,6 +70,7 @@ require ( +@@ -71,6 +71,7 @@ require ( github.com/beevik/etree v1.2.0 github.com/google/go-cmp v0.5.9 github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 + github.com/hashicorp/aws-sdk-go-base v1.1.0 - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.34 - github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35 + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35 + github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36 github.com/hashicorp/awspolicyequivalence v1.6.0 diff --git a/go.sum b/go.sum -index 4acc72dd96..f5c96040fa 100644 +index 23d2539af1..c2bfa77af8 100644 --- a/go.sum +++ b/go.sum -@@ -22,6 +22,7 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkE +@@ -22,6 +22,7 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmms github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= - github.com/aws/aws-sdk-go v1.44.334 h1:h2bdbGb//fez6Sv6PaYv868s9liDeoYM6hYsAqTB4MU= - github.com/aws/aws-sdk-go v1.44.334/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= + github.com/aws/aws-sdk-go v1.45.6 h1:Y2isQQBZsnO15dzUQo9YQRThtHgrV200XCH05BRHVJI= + github.com/aws/aws-sdk-go v1.45.6/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.20.1/go.mod h1:NU06lETsFm8fUC6ZjhgDpVBcGZTFQ6XM+LZWZxMI4ac= -@@ -212,6 +213,7 @@ github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66D +@@ -219,6 +220,7 @@ github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7z + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= - github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= 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= -@@ -231,6 +233,8 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= - github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +@@ -238,6 +240,8 @@ github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= + github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 h1:IUypt/TbXiJBkBbE3926CgnjD8IltAitdn7Yive61DY= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0/go.mod h1:cdTE6F2pCKQobug+RqRaQp7Kz9hIEqiSvpPmb6E5G1w= +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.34 h1:WH0OOrhZe6wzOnA+ra0ZV0+5BWSElVriWmudH2S2cFw= - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.34/go.mod h1:cR5oVK+h10mSG4T9eHaBAYfacxUlYI5vNfJuIRMGfMA= - github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35 h1:FLgIkz1RPYkYG62Q+u7M/JtU2tEKPUDMeDH+WtZ04ic= -@@ -303,6 +307,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35 h1:07rX0OEHNSmD4TXQzHcVnaZJGYXaSaJR4ZhN8/bBRY4= + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35/go.mod h1:cR5oVK+h10mSG4T9eHaBAYfacxUlYI5vNfJuIRMGfMA= + github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36 h1:xfEmtc8kXanlT5O9m1xqYXJRgsz5m1uBzeAFcq5wBh4= +@@ -309,6 +313,7 @@ github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+h + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= 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= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= 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= -@@ -419,6 +424,7 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +@@ -425,6 +430,7 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= diff --git a/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch b/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch index 44db5c5beae..df0c15192c0 100644 --- a/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch +++ b/patches/0004-Marks-SSE-Configuration-as-Computed-for-Legacy-S3-Bu.patch @@ -1,4 +1,4 @@ -From dd7641f930d4aef08f9fa1878c6cb67d8aa1ac88 Mon Sep 17 00:00:00 2001 +From b4f94bcc5aeb1dcdbc016ad045989fe20933c650 Mon Sep 17 00:00:00 2001 From: Kyle Pitzen Date: Thu, 9 Mar 2023 09:47:49 -0600 Subject: [PATCH 04/29] Marks SSE Configuration as Computed for Legacy S3 diff --git a/patches/0005-De-deprecate-bucket_object.patch b/patches/0005-De-deprecate-bucket_object.patch index 90d8bb96ead..b7a36fb1c76 100644 --- a/patches/0005-De-deprecate-bucket_object.patch +++ b/patches/0005-De-deprecate-bucket_object.patch @@ -1,4 +1,4 @@ -From f3398d9463cbb1da45e52d698e08ae60e8fbe30f Mon Sep 17 00:00:00 2001 +From 3f33fb93b233555bd4c2f9265c7a8db51c924c4f Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:06:11 +0000 Subject: [PATCH 05/29] De-deprecate bucket_object @@ -8,10 +8,10 @@ Subject: [PATCH 05/29] De-deprecate bucket_object 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/service/s3/bucket_object.go b/internal/service/s3/bucket_object.go -index 0d2e713604..da10d94324 100644 +index 4c5f6cc740..bb53438c3c 100644 --- a/internal/service/s3/bucket_object.go +++ b/internal/service/s3/bucket_object.go -@@ -63,7 +63,7 @@ func ResourceBucketObject() *schema.Resource { +@@ -66,7 +66,7 @@ func ResourceBucketObject() *schema.Resource { ValidateFunc: validation.StringInSlice(s3.ObjectCannedACL_Values(), false), }, "bucket": { @@ -20,7 +20,7 @@ index 0d2e713604..da10d94324 100644 Type: schema.TypeString, Required: true, ForceNew: true, -@@ -120,7 +120,7 @@ func ResourceBucketObject() *schema.Resource { +@@ -123,7 +123,7 @@ func ResourceBucketObject() *schema.Resource { Default: false, }, "key": { @@ -29,7 +29,7 @@ index 0d2e713604..da10d94324 100644 Type: schema.TypeString, Required: true, ForceNew: true, -@@ -193,7 +193,9 @@ func ResourceBucketObject() *schema.Resource { +@@ -196,7 +196,9 @@ func ResourceBucketObject() *schema.Resource { }, }, diff --git a/patches/0006-Remove-lakeformation-catalog_resource-default.patch b/patches/0006-Remove-lakeformation-catalog_resource-default.patch index 76f4420247d..9f5299d37dc 100644 --- a/patches/0006-Remove-lakeformation-catalog_resource-default.patch +++ b/patches/0006-Remove-lakeformation-catalog_resource-default.patch @@ -1,4 +1,4 @@ -From 86cd43ca06dc1788d66d42ecc04bbd21d0eae17c Mon Sep 17 00:00:00 2001 +From a95b5c1e221f5b49d223775fb7e4997390b6da36 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:08:23 +0000 Subject: [PATCH 06/29] Remove lakeformation catalog_resource default diff --git a/patches/0007-Workaround-SSM-Parameter-tier-bug.patch b/patches/0007-Workaround-SSM-Parameter-tier-bug.patch index 794866faf98..eb5c14f1056 100644 --- a/patches/0007-Workaround-SSM-Parameter-tier-bug.patch +++ b/patches/0007-Workaround-SSM-Parameter-tier-bug.patch @@ -1,4 +1,4 @@ -From 7528a52574595b5179788dc8e65caa4312942c46 Mon Sep 17 00:00:00 2001 +From e825fbdc22e159d1e7b03a1586f519fd4a8d4812 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:24:42 +0000 Subject: [PATCH 07/29] Workaround SSM Parameter tier bug diff --git a/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch b/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch index 12974693f5a..b323ebd040c 100644 --- a/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch +++ b/patches/0008-Add-EKS-cluster-default_addons_to_remove.patch @@ -1,4 +1,4 @@ -From 1c43db28650e4966fccc8919e2fb7b6624ba1b6a Mon Sep 17 00:00:00 2001 +From 9391e7105b1ab1341984d84001efb51901b67ec7 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:31:27 +0000 Subject: [PATCH 08/29] Add EKS cluster default_addons_to_remove diff --git a/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch b/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch index 93d031448d6..5da75c01f2e 100644 --- a/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch +++ b/patches/0009-Add-EKS-cluster-certificate_authorities-plural.patch @@ -1,4 +1,4 @@ -From dc421cb90dc1a7f6f9fd43be663b720828adb135 Mon Sep 17 00:00:00 2001 +From e0d020562712caddbbaecdc27a0e44392d8d01d3 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:32:49 +0000 Subject: [PATCH 09/29] Add EKS cluster certificate_authorities (plural) diff --git a/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch b/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch index d3209cbf052..d74396a7bbf 100644 --- a/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch +++ b/patches/0010-Workaround-Autoscaling-launch_configuration-associat.patch @@ -1,4 +1,4 @@ -From 23a7ede2d2ac3d3fbd8fd4571eff1d85542826f8 Mon Sep 17 00:00:00 2001 +From ae8fb058d67d2fe7e4395c6215e7bac444b504b9 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:34:56 +0000 Subject: [PATCH 10/29] Workaround Autoscaling launch_configuration diff --git a/patches/0011-Add-ECR-credentials_data_source.patch b/patches/0011-Add-ECR-credentials_data_source.patch index a185d295e4f..e7a4960e089 100644 --- a/patches/0011-Add-ECR-credentials_data_source.patch +++ b/patches/0011-Add-ECR-credentials_data_source.patch @@ -1,4 +1,4 @@ -From e862e14fab95195f924b48747b6553f30f733a6c Mon Sep 17 00:00:00 2001 +From 41848d982e294734cb9b95afd1577d021e5ec382 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 4 Nov 2022 17:36:34 +0000 Subject: [PATCH 11/29] Add ECR credentials_data_source diff --git a/patches/0012-Add-custom-appautoscaling-examples.patch b/patches/0012-Add-custom-appautoscaling-examples.patch index 65156e9a09d..56f3264eea1 100644 --- a/patches/0012-Add-custom-appautoscaling-examples.patch +++ b/patches/0012-Add-custom-appautoscaling-examples.patch @@ -1,4 +1,4 @@ -From 045ca1c8d2c9dd77c69639690e4d0b806eb24f5d Mon Sep 17 00:00:00 2001 +From ae098c239c749e3ca17b700349c0cf667cdff0cf Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Wed, 9 Nov 2022 17:37:35 +0000 Subject: [PATCH 12/29] Add custom appautoscaling examples diff --git a/patches/0013-Add-dedicated_host-docs.patch b/patches/0013-Add-dedicated_host-docs.patch index 17a4ae9cc04..22cb67c4abc 100644 --- a/patches/0013-Add-dedicated_host-docs.patch +++ b/patches/0013-Add-dedicated_host-docs.patch @@ -1,4 +1,4 @@ -From 1ea305152e8b7b5a12a237b2e219a32d38cc0ef5 Mon Sep 17 00:00:00 2001 +From 1f0612aff21ebe547326f9a24850821ed5aa0102 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 15 Nov 2022 10:08:05 +0000 Subject: [PATCH 13/29] Add dedicated_host docs diff --git a/patches/0014-Revert-WAF-schema-changes.patch b/patches/0014-Revert-WAF-schema-changes.patch index d7794163737..0218d732001 100644 --- a/patches/0014-Revert-WAF-schema-changes.patch +++ b/patches/0014-Revert-WAF-schema-changes.patch @@ -1,4 +1,4 @@ -From 7372f5b2db194ef864edb62c3d760421bee563f3 Mon Sep 17 00:00:00 2001 +From 681657ef2f93fc068def4717fed9b4c7cb42aa66 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 15 Nov 2022 13:59:57 +0000 Subject: [PATCH 14/29] Revert WAF schema changes @@ -9,7 +9,7 @@ Subject: [PATCH 14/29] Revert WAF schema changes 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/wafv2/schemas.go b/internal/service/wafv2/schemas.go -index e05ccc14a9..2e3ee26169 100644 +index fdb18d188d..876317b038 100644 --- a/internal/service/wafv2/schemas.go +++ b/internal/service/wafv2/schemas.go @@ -52,14 +52,14 @@ func ruleGroupRootStatementSchema(level int) *schema.Schema { diff --git a/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch b/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch index 7a612a537bb..f7a60ee1e32 100644 --- a/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch +++ b/patches/0015-Catch-cty-panic-in-new-resourceTopicSubscriptionCust.patch @@ -1,4 +1,4 @@ -From 7828866b02d805a32bdd939c44ab13173a6c2676 Mon Sep 17 00:00:00 2001 +From d14cdbeda2c6ac4263881bbf01a38bf37cd7530e Mon Sep 17 00:00:00 2001 From: Thomas Kappler Date: Thu, 1 Dec 2022 10:56:32 -0800 Subject: [PATCH 15/29] Catch cty panic in new diff --git a/patches/0016-add-matchmaking-configuration-72.patch b/patches/0016-add-matchmaking-configuration-72.patch index 2dd3f9157ee..a38af0c062f 100644 --- a/patches/0016-add-matchmaking-configuration-72.patch +++ b/patches/0016-add-matchmaking-configuration-72.patch @@ -1,4 +1,4 @@ -From e3b31ed769a6f2d5a1009aad549967024914896d Mon Sep 17 00:00:00 2001 +From f2261e530eb117052b5a6b3fd9b68bb7009fea52 Mon Sep 17 00:00:00 2001 From: Lee Briggs Date: Wed, 21 Dec 2022 12:23:59 -0800 Subject: [PATCH 16/29] add matchmaking configuration (#72) diff --git a/patches/0017-fix-Adding-back-in-removeAddons.patch b/patches/0017-fix-Adding-back-in-removeAddons.patch index dd90ccbd0d3..11c23afc9d0 100644 --- a/patches/0017-fix-Adding-back-in-removeAddons.patch +++ b/patches/0017-fix-Adding-back-in-removeAddons.patch @@ -1,4 +1,4 @@ -From 9cbffea124804c0151c3a47ed344c324e692e3a5 Mon Sep 17 00:00:00 2001 +From 45060c82b6e595170b2eed51f7363b665273dca3 Mon Sep 17 00:00:00 2001 From: Richard Shade Date: Fri, 6 Jan 2023 15:31:22 -0600 Subject: [PATCH 17/29] fix: Adding back in removeAddons diff --git a/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch b/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch index 6ee101c8482..a7c122e784d 100644 --- a/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch +++ b/patches/0018-Reverts-patches-to-S3BucketLegacy-and-GameLift.patch @@ -1,4 +1,4 @@ -From 75af8994da64733a609d1d0fe29b1c7a80778ac3 Mon Sep 17 00:00:00 2001 +From 5e083ac1ed52f0ea3b09d4fa634b246b4736c5df Mon Sep 17 00:00:00 2001 From: Kyle Pitzen Date: Fri, 27 Jan 2023 09:37:43 -0600 Subject: [PATCH 18/29] Reverts patches to S3BucketLegacy and GameLift diff --git a/patches/0019-Revert-Update-endpointHashIPAddress.patch b/patches/0019-Revert-Update-endpointHashIPAddress.patch index 6e88064acb8..6782d7ff1ff 100644 --- a/patches/0019-Revert-Update-endpointHashIPAddress.patch +++ b/patches/0019-Revert-Update-endpointHashIPAddress.patch @@ -1,4 +1,4 @@ -From 3b4ebcac5cfa60365943362729c032fbca13c439 Mon Sep 17 00:00:00 2001 +From db0939239f9c49bf23aeda38d41369f41866b27a Mon Sep 17 00:00:00 2001 From: Thomas Kappler Date: Fri, 3 Feb 2023 17:31:18 -0800 Subject: [PATCH 19/29] Revert "Update endpointHashIPAddress" diff --git a/patches/0020-Fixup-eks-formatting.patch b/patches/0020-Fixup-eks-formatting.patch index 60712cbef94..3e49471ed34 100644 --- a/patches/0020-Fixup-eks-formatting.patch +++ b/patches/0020-Fixup-eks-formatting.patch @@ -1,4 +1,4 @@ -From fcb400060a06635229571faabb123b210a50b6d1 Mon Sep 17 00:00:00 2001 +From 17cd5924b42c5c9214783e8a3c5379284864700a Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 9 Mar 2023 14:50:36 +0000 Subject: [PATCH 20/29] Fixup eks formatting diff --git a/patches/0021-Fixup-gamelift-context.patch b/patches/0021-Fixup-gamelift-context.patch index 95b37a4ce76..1adde566b44 100644 --- a/patches/0021-Fixup-gamelift-context.patch +++ b/patches/0021-Fixup-gamelift-context.patch @@ -1,4 +1,4 @@ -From d6c558dbf4588e9bdf3d39d6c4447e632547b3ec Mon Sep 17 00:00:00 2001 +From 881724c9398877e2ce6165f5edeaaca632c92902 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Thu, 9 Mar 2023 14:50:51 +0000 Subject: [PATCH 21/29] Fixup gamelift context diff --git a/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch b/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch index c14481745d9..1916cf53fd9 100644 --- a/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch +++ b/patches/0022-Change-default-descriptions-to-Managed-by-Pulumi.patch @@ -1,4 +1,4 @@ -From 059d292240e25e65b216dbaba89d5aa39e120f72 Mon Sep 17 00:00:00 2001 +From 1ba77f5923b9129c46a884d02e3582e75cfffc1e Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 28 Feb 2023 15:19:24 +0000 Subject: [PATCH 22/29] Change default descriptions to "Managed by Pulumi" @@ -37,18 +37,18 @@ Subject: [PATCH 22/29] Change default descriptions to "Managed by Pulumi" create mode 100644 internal/service/redshift/security_group.go diff --git a/internal/service/apigateway/api_key.go b/internal/service/apigateway/api_key.go -index 8ec40c0373..1fca3d38d9 100644 +index a9bc1cc418..9284fc793b 100644 --- a/internal/service/apigateway/api_key.go +++ b/internal/service/apigateway/api_key.go -@@ -47,7 +47,7 @@ func ResourceAPIKey() *schema.Resource { +@@ -53,7 +53,7 @@ func ResourceAPIKey() *schema.Resource { "description": { Type: schema.TypeString, Optional: true, - Default: "Managed by Terraform", + Default: "Managed by Pulumi", }, - "enabled": { + Type: schema.TypeBool, diff --git a/internal/service/appsync/api_key.go b/internal/service/appsync/api_key.go index 154306cde7..e3c6189ab2 100644 --- a/internal/service/appsync/api_key.go diff --git a/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch b/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch index bac1bc521a5..002bea28d40 100644 --- a/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch +++ b/patches/0023-remove-required-elements-from-schema-and-fix-tests-7.patch @@ -1,4 +1,4 @@ -From 8773639ddd7d49a329a7bde65e38c665b246ad09 Mon Sep 17 00:00:00 2001 +From 3aff8210fdea56d24cd79d6e9029e364b4cd47f4 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Tue, 28 Mar 2023 19:54:00 +0100 Subject: [PATCH 23/29] remove required elements from schema and fix tests diff --git a/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch b/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch index 452c6293673..2f9c5aa2454 100644 --- a/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch +++ b/patches/0024-Temp-remove-cognito_identity_pool_roles_attachment-e.patch @@ -1,17 +1,17 @@ -From 2ca04311dc510a6b012446825045da934df370e5 Mon Sep 17 00:00:00 2001 +From 8f4b6df84b15b3f3ac16404c02ff4fc80609ab54 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 24 Apr 2023 10:36:36 -0400 Subject: [PATCH 24/29] Temp remove cognito_identity_pool_roles_attachment example beacuse of flaky translation --- - ...to_identity_pool_roles_attachment.markdown | 81 ------------------- + ...entity_pool_roles_attachment.html.markdown | 81 ------------------- 1 file changed, 81 deletions(-) -diff --git a/website/docs/r/cognito_identity_pool_roles_attachment.markdown b/website/docs/r/cognito_identity_pool_roles_attachment.markdown +diff --git a/website/docs/r/cognito_identity_pool_roles_attachment.html.markdown b/website/docs/r/cognito_identity_pool_roles_attachment.html.markdown index 23c0000bb6..d56a26e5f0 100644 ---- a/website/docs/r/cognito_identity_pool_roles_attachment.markdown -+++ b/website/docs/r/cognito_identity_pool_roles_attachment.markdown +--- a/website/docs/r/cognito_identity_pool_roles_attachment.html.markdown ++++ b/website/docs/r/cognito_identity_pool_roles_attachment.html.markdown @@ -12,87 +12,6 @@ Provides an AWS Cognito Identity Pool Roles Attachment. ## Example Usage diff --git a/patches/0025-Fix-elbv2-target-group-read.patch b/patches/0025-Fix-elbv2-target-group-read.patch index 0fb7940417a..82a892644f3 100644 --- a/patches/0025-Fix-elbv2-target-group-read.patch +++ b/patches/0025-Fix-elbv2-target-group-read.patch @@ -1,4 +1,4 @@ -From e36ed18830c8dd2a1522197bf8ca206e228d90cb Mon Sep 17 00:00:00 2001 +From c5953644ab40f2adf547c6c48fa02521994f8551 Mon Sep 17 00:00:00 2001 From: Daniel Bradley Date: Fri, 12 May 2023 10:55:42 +0100 Subject: [PATCH 25/29] Fix elbv2 target group read diff --git a/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch b/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch index 3aeeee93f13..b479ea41607 100644 --- a/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch +++ b/patches/0026-Fix-spurrious-json-diff-for-redrive_policy.patch @@ -1,4 +1,4 @@ -From 8a2d97cbf0ed2d198de97fb56bc046e0b76aff0e Mon Sep 17 00:00:00 2001 +From 320993a2c69e833824da09956573c366803410db Mon Sep 17 00:00:00 2001 From: Ramon Quitales Date: Thu, 18 May 2023 15:21:33 -0700 Subject: [PATCH 26/29] Fix spurrious json diff for redrive_policy diff --git a/patches/0027-Provide-context-to-conns.patch b/patches/0027-Provide-context-to-conns.patch index 9047b3ed540..8ab20928ee7 100644 --- a/patches/0027-Provide-context-to-conns.patch +++ b/patches/0027-Provide-context-to-conns.patch @@ -1,4 +1,4 @@ -From f00668d048b130a8e86233118da28b8e01c39648 Mon Sep 17 00:00:00 2001 +From 11be804857dc7337c6c896a2a8282a2746f2e644 Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Mon, 10 Jul 2023 11:51:24 +0200 Subject: [PATCH 27/29] Provide context to conns diff --git a/patches/0028-Match-the-tags-behavior-of-other-resources.patch b/patches/0028-Match-the-tags-behavior-of-other-resources.patch index b278851d1e9..7b98bac7046 100644 --- a/patches/0028-Match-the-tags-behavior-of-other-resources.patch +++ b/patches/0028-Match-the-tags-behavior-of-other-resources.patch @@ -1,4 +1,4 @@ -From ab40d57d3634fdd2e12e1c9a6341a7fc467f246b Mon Sep 17 00:00:00 2001 +From a817eec9629ebb85bc6913e600bb8e7b6381bff0 Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Wed, 2 Aug 2023 14:12:03 +0200 Subject: [PATCH 28/29] Match the "tags" behavior of other resources diff --git a/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch b/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch index fa2299c3c6f..d52f45af1d2 100644 --- a/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch +++ b/patches/0029-move-shim-logic-to-upstream-as-a-patch.patch @@ -1,4 +1,4 @@ -From 5e8fc215493cc88d08ea66d6cc56bbe70fd42956 Mon Sep 17 00:00:00 2001 +From 402cf0bcd615b9f0a1d46f5e45fc1c6f95a696bd Mon Sep 17 00:00:00 2001 From: Guinevere Saenger Date: Wed, 6 Sep 2023 10:43:30 -0700 Subject: [PATCH 29/29] move shim logic to upstream as a patch diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index 6ad903cd381..940df482ca1 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -391,6 +391,9 @@ "current": "aws:apigateway/account:Account", "majorVersion": 6, "fields": { + "features": { + "maxItemsOne": false + }, "throttle_settings": { "maxItemsOne": false } @@ -10671,6 +10674,9 @@ "audit_log_configuration": { "maxItemsOne": true }, + "disk_iops_configuration": { + "maxItemsOne": true + }, "network_interface_ids": { "maxItemsOne": false }, @@ -10942,6 +10948,16 @@ "current": "aws:glue/catalogTable:CatalogTable", "majorVersion": 6, "fields": { + "open_table_format_input": { + "maxItemsOne": true, + "elem": { + "fields": { + "iceberg_input": { + "maxItemsOne": true + } + } + } + }, "partition_index": { "maxItemsOne": false, "elem": { @@ -17268,6 +17284,9 @@ "snapshot_options": { "maxItemsOne": true }, + "software_update_options": { + "maxItemsOne": true + }, "vpc_options": { "maxItemsOne": true, "elem": { @@ -149600,6 +149619,14 @@ } } }, + "aws_shield_drt_access_log_bucket_association": { + "current": "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", + "majorVersion": 6 + }, + "aws_shield_drt_access_role_arn_association": { + "current": "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", + "majorVersion": 6 + }, "aws_shield_protection": { "current": "aws:shield/protection:Protection", "majorVersion": 6 @@ -150755,6 +150782,18 @@ } } }, + "aws_verifiedaccess_trust_provider": { + "current": "aws:verifiedaccess/trustProvider:TrustProvider", + "majorVersion": 6, + "fields": { + "device_options": { + "maxItemsOne": true + }, + "oidc_options": { + "maxItemsOne": true + } + } + }, "aws_volume_attachment": { "current": "aws:ec2/volumeAttachment:VolumeAttachment", "majorVersion": 6 @@ -210270,6 +210309,21 @@ "current": "aws:codestarconnections/getConnection:getConnection", "majorVersion": 6 }, + "aws_cognito_identity_pool": { + "current": "aws:cognito/getIdentityPool:getIdentityPool", + "majorVersion": 6, + "fields": { + "cognito_identity_providers": { + "maxItemsOne": false + }, + "openid_connect_provider_arns": { + "maxItemsOne": false + }, + "saml_provider_arns": { + "maxItemsOne": false + } + } + }, "aws_cognito_user_pool_client": { "current": "aws:cognito/getUserPoolClient:getUserPoolClient", "majorVersion": 6, @@ -212685,6 +212739,9 @@ "audit_log_configuration": { "maxItemsOne": false }, + "disk_iops_configuration": { + "maxItemsOne": false + }, "network_interface_ids": { "maxItemsOne": false }, @@ -213119,6 +213176,9 @@ }, "external_ids": { "maxItemsOne": false + }, + "filter": { + "maxItemsOne": true } } }, @@ -213148,6 +213208,9 @@ "external_ids": { "maxItemsOne": false }, + "filter": { + "maxItemsOne": true + }, "name": { "maxItemsOne": false }, @@ -215267,6 +215330,9 @@ "snapshot_options": { "maxItemsOne": false }, + "software_update_options": { + "maxItemsOne": false + }, "vpc_options": { "maxItemsOne": false, "elem": { @@ -218596,6 +218662,8 @@ "aws:sfn/activity:Activity": 0, "aws:sfn/alias:Alias": 0, "aws:sfn/stateMachine:StateMachine": 0, + "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": 1, + "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": 1, "aws:shield/protection:Protection": 0, "aws:shield/protectionGroup:ProtectionGroup": 0, "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": 0, @@ -218667,6 +218735,7 @@ "aws:transfer/tag:Tag": 0, "aws:transfer/user:User": 0, "aws:transfer/workflow:Workflow": 0, + "aws:verifiedaccess/trustProvider:TrustProvider": 0, "aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule": 1, "aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule": 1, "aws:vpclattice/accessLogSubscription:AccessLogSubscription": 0, @@ -218794,6 +218863,7 @@ "aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate": 0, "aws:codecommit/getRepository:getRepository": 0, "aws:codestarconnections/getConnection:getConnection": 0, + "aws:cognito/getIdentityPool:getIdentityPool": 0, "aws:cognito/getUserPoolClient:getUserPoolClient": 0, "aws:cognito/getUserPoolClients:getUserPoolClients": 0, "aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate": 0, @@ -220370,6 +220440,8 @@ "aws:sfn/activity:Activity": "aws_sfn_activity", "aws:sfn/alias:Alias": "aws_sfn_alias", "aws:sfn/stateMachine:StateMachine": "aws_sfn_state_machine", + "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": "aws_shield_drt_access_log_bucket_association", + "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": "aws_shield_drt_access_role_arn_association", "aws:shield/protection:Protection": "aws_shield_protection", "aws:shield/protectionGroup:ProtectionGroup": "aws_shield_protection_group", "aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation": "aws_shield_protection_health_check_association", @@ -220441,6 +220513,7 @@ "aws:transfer/tag:Tag": "aws_transfer_tag", "aws:transfer/user:User": "aws_transfer_user", "aws:transfer/workflow:Workflow": "aws_transfer_workflow", + "aws:verifiedaccess/trustProvider:TrustProvider": "aws_verifiedaccess_trust_provider", "aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule": "aws_vpc_security_group_egress_rule", "aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule": "aws_vpc_security_group_ingress_rule", "aws:vpclattice/accessLogSubscription:AccessLogSubscription": "aws_vpclattice_access_log_subscription", @@ -220568,6 +220641,7 @@ "aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate": "aws_codecommit_approval_rule_template", "aws:codecommit/getRepository:getRepository": "aws_codecommit_repository", "aws:codestarconnections/getConnection:getConnection": "aws_codestarconnections_connection", + "aws:cognito/getIdentityPool:getIdentityPool": "aws_cognito_identity_pool", "aws:cognito/getUserPoolClient:getUserPoolClient": "aws_cognito_user_pool_client", "aws:cognito/getUserPoolClients:getUserPoolClients": "aws_cognito_user_pool_clients", "aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate": "aws_cognito_user_pool_signing_certificate", @@ -221594,11 +221668,13 @@ "rateLimit": "rate_limit" }, "aws:apigateway/account:Account": { + "apiKeyVersion": "api_key_version", "cloudwatchRoleArn": "cloudwatch_role_arn", "throttleSettings": "throttle_settings" }, "aws:apigateway/apiKey:ApiKey": { "createdDate": "created_date", + "customerId": "customer_id", "lastUpdatedDate": "last_updated_date", "tagsAll": "tags_all" }, @@ -221693,6 +221769,7 @@ }, "aws:apigateway/getKey:getKey": { "createdDate": "created_date", + "customerId": "customer_id", "lastUpdatedDate": "last_updated_date" }, "aws:apigateway/getResource:getResource": { @@ -224249,7 +224326,9 @@ "checkpointPercentages": "checkpoint_percentages", "instanceWarmup": "instance_warmup", "minHealthyPercentage": "min_healthy_percentage", - "skipMatching": "skip_matching" + "scaleInProtectedInstances": "scale_in_protected_instances", + "skipMatching": "skip_matching", + "standbyInstances": "standby_instances" }, "aws:autoscaling/GroupMixedInstancesPolicy:GroupMixedInstancesPolicy": { "instancesDistribution": "instances_distribution", @@ -227017,6 +227096,21 @@ "emailSubjectByLink": "email_subject_by_link", "smsMessage": "sms_message" }, + "aws:cognito/getIdentityPool:getIdentityPool": { + "allowClassicFlow": "allow_classic_flow", + "allowUnauthenticatedIdentities": "allow_unauthenticated_identities", + "cognitoIdentityProviders": "cognito_identity_providers", + "developerProviderName": "developer_provider_name", + "identityPoolName": "identity_pool_name", + "openidConnectProviderArns": "openid_connect_provider_arns", + "samlProviderArns": "saml_provider_arns", + "supportedLoginProviders": "supported_login_providers" + }, + "aws:cognito/getIdentityPoolCognitoIdentityProvider:getIdentityPoolCognitoIdentityProvider": { + "clientId": "client_id", + "providerName": "provider_name", + "serverSideTokenCheck": "server_side_token_check" + }, "aws:cognito/getUserPoolClient:getUserPoolClient": { "accessTokenValidity": "access_token_validity", "allowedOauthFlows": "allowed_oauth_flows", @@ -233485,7 +233579,8 @@ "snapshotRetentionLimit": "snapshot_retention_limit", "snapshotWindow": "snapshot_window", "subnetGroupName": "subnet_group_name", - "tagsAll": "tags_all" + "tagsAll": "tags_all", + "transitEncryptionEnabled": "transit_encryption_enabled" }, "aws:elasticache/getCluster:getCluster": { "availabilityZone": "availability_zone", @@ -234737,6 +234832,7 @@ "copyTagsToBackups": "copy_tags_to_backups", "dailyAutomaticBackupStartTime": "daily_automatic_backup_start_time", "deploymentType": "deployment_type", + "diskIopsConfigurations": "disk_iops_configuration", "dnsName": "dns_name", "kmsKeyId": "kms_key_id", "networkInterfaceIds": "network_interface_ids", @@ -234882,6 +234978,7 @@ "copyTagsToBackups": "copy_tags_to_backups", "dailyAutomaticBackupStartTime": "daily_automatic_backup_start_time", "deploymentType": "deployment_type", + "diskIopsConfiguration": "disk_iops_configuration", "dnsName": "dns_name", "kmsKeyId": "kms_key_id", "networkInterfaceIds": "network_interface_ids", @@ -235156,6 +235253,12 @@ "catalogId": "catalog_id", "databaseName": "database_name" }, + "aws:glue/CatalogTableOpenTableFormatInput:CatalogTableOpenTableFormatInput": { + "icebergInput": "iceberg_input" + }, + "aws:glue/CatalogTableOpenTableFormatInputIcebergInput:CatalogTableOpenTableFormatInputIcebergInput": { + "metadataOperation": "metadata_operation" + }, "aws:glue/CatalogTablePartitionIndex:CatalogTablePartitionIndex": { "indexName": "index_name", "indexStatus": "index_status" @@ -235392,6 +235495,7 @@ "aws:glue/catalogTable:CatalogTable": { "catalogId": "catalog_id", "databaseName": "database_name", + "openTableFormatInput": "open_table_format_input", "partitionIndices": "partition_index", "partitionKeys": "partition_keys", "storageDescriptor": "storage_descriptor", @@ -236088,6 +236192,10 @@ "attributePath": "attribute_path", "attributeValue": "attribute_value" }, + "aws:identitystore/getGroupFilter:getGroupFilter": { + "attributePath": "attribute_path", + "attributeValue": "attribute_value" + }, "aws:identitystore/getUser:getUser": { "alternateIdentifier": "alternate_identifier", "displayName": "display_name", @@ -236113,6 +236221,10 @@ "attributePath": "attribute_path", "attributeValue": "attribute_value" }, + "aws:identitystore/getUserFilter:getUserFilter": { + "attributePath": "attribute_path", + "attributeValue": "attribute_value" + }, "aws:identitystore/getUserName:getUserName": { "familyName": "family_name", "givenName": "given_name", @@ -241925,6 +242037,9 @@ "aws:opensearch/DomainSnapshotOptions:DomainSnapshotOptions": { "automatedSnapshotStartHour": "automated_snapshot_start_hour" }, + "aws:opensearch/DomainSoftwareUpdateOptions:DomainSoftwareUpdateOptions": { + "autoSoftwareUpdateEnabled": "auto_software_update_enabled" + }, "aws:opensearch/DomainVpcOptions:DomainVpcOptions": { "availabilityZones": "availability_zones", "securityGroupIds": "security_group_ids", @@ -241969,6 +242084,7 @@ "nodeToNodeEncryption": "node_to_node_encryption", "offPeakWindowOptions": "off_peak_window_options", "snapshotOptions": "snapshot_options", + "softwareUpdateOptions": "software_update_options", "tagsAll": "tags_all", "vpcOptions": "vpc_options" }, @@ -241998,6 +242114,7 @@ "nodeToNodeEncryptions": "node_to_node_encryption", "offPeakWindowOptions": "off_peak_window_options", "snapshotOptions": "snapshot_options", + "softwareUpdateOptions": "software_update_options", "vpcOptions": "vpc_options" }, "aws:opensearch/getDomainAdvancedSecurityOption:getDomainAdvancedSecurityOption": { @@ -242057,6 +242174,9 @@ "aws:opensearch/getDomainSnapshotOption:getDomainSnapshotOption": { "automatedSnapshotStartHour": "automated_snapshot_start_hour" }, + "aws:opensearch/getDomainSoftwareUpdateOption:getDomainSoftwareUpdateOption": { + "autoSoftwareUpdateEnabled": "auto_software_update_enabled" + }, "aws:opensearch/getDomainVpcOption:getDomainVpcOption": { "availabilityZones": "availability_zones", "securityGroupIds": "security_group_ids", @@ -334475,6 +334595,8 @@ "encodingType": "encoding_type", "fetchOwner": "fetch_owner", "maxKeys": "max_keys", + "requestCharged": "request_charged", + "requestPayer": "request_payer", "startAfter": "start_after" }, "aws:s3/inventory:Inventory": { @@ -336371,6 +336493,13 @@ "tracingConfiguration": "tracing_configuration", "versionDescription": "version_description" }, + "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": { + "logBucket": "log_bucket", + "roleArnAssociationId": "role_arn_association_id" + }, + "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": { + "roleArn": "role_arn" + }, "aws:shield/protection:Protection": { "resourceArn": "resource_arn", "tagsAll": "tags_all" @@ -336640,6 +336769,7 @@ "maxErrors": "max_errors", "outputLocation": "output_location", "scheduleExpression": "schedule_expression", + "syncCompliance": "sync_compliance", "waitForSuccessTimeoutSeconds": "wait_for_success_timeout_seconds" }, "aws:ssm/defaultPatchBaseline:DefaultPatchBaseline": { @@ -337475,6 +337605,25 @@ "onExceptionSteps": "on_exception_steps", "tagsAll": "tags_all" }, + "aws:verifiedaccess/TrustProviderDeviceOptions:TrustProviderDeviceOptions": { + "tenantId": "tenant_id" + }, + "aws:verifiedaccess/TrustProviderOidcOptions:TrustProviderOidcOptions": { + "authorizationEndpoint": "authorization_endpoint", + "clientId": "client_id", + "clientSecret": "client_secret", + "tokenEndpoint": "token_endpoint", + "userInfoEndpoint": "user_info_endpoint" + }, + "aws:verifiedaccess/trustProvider:TrustProvider": { + "deviceOptions": "device_options", + "deviceTrustProviderType": "device_trust_provider_type", + "oidcOptions": "oidc_options", + "policyReferenceName": "policy_reference_name", + "tagsAll": "tags_all", + "trustProviderType": "trust_provider_type", + "userTrustProviderType": "user_trust_provider_type" + }, "aws:vpc/getSecurityGroupRule:getSecurityGroupRule": { "cidrIpv4": "cidr_ipv4", "cidrIpv6": "cidr_ipv6", diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 72ad58178b9..9c70e44e9fe 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -204,6 +204,7 @@ "timestreamwrite": "TimestreamWrite", "transcribe": "Transcribe", "transfer": "Transfer", + "verifiedaccess": "VerifiedAccess", "vpc": "Vpc", "vpclattice": "VpcLattice", "waf": "Waf", @@ -15513,9 +15514,17 @@ "type": "integer", "description": "Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`.\n" }, + "scaleInProtectedInstances": { + "type": "string", + "description": "Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`.\n" + }, "skipMatching": { "type": "boolean", "description": "Replace instances that already have your desired configuration. Defaults to `false`.\n" + }, + "standbyInstances": { + "type": "string", + "description": "Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`.\n" } }, "type": "object" @@ -26558,6 +26567,30 @@ } } }, + "aws:cognito/getIdentityPoolCognitoIdentityProvider:getIdentityPoolCognitoIdentityProvider": { + "properties": { + "clientId": { + "type": "string" + }, + "providerName": { + "type": "string" + }, + "serverSideTokenCheck": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "clientId", + "providerName", + "serverSideTokenCheck" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:cognito/getUserPoolClientAnalyticsConfiguration:getUserPoolClientAnalyticsConfiguration": { "properties": { "applicationArn": { @@ -32372,7 +32405,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted.\n\n\u003e Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply.\n" + "description": "A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted.\n\n\u003e Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply.\n" } }, "type": "object", @@ -56516,6 +56549,26 @@ } } }, + "aws:fsx/WindowsFileSystemDiskIopsConfiguration:WindowsFileSystemDiskIopsConfiguration": { + "properties": { + "iops": { + "type": "integer", + "description": "The total number of SSD IOPS provisioned for the file system.\n" + }, + "mode": { + "type": "string", + "description": "Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "iops" + ] + } + } + }, "aws:fsx/WindowsFileSystemSelfManagedActiveDirectory:WindowsFileSystemSelfManagedActiveDirectory": { "properties": { "dnsIps": { @@ -56598,6 +56651,26 @@ } } }, + "aws:fsx/getWindowsFileSystemDiskIopsConfiguration:getWindowsFileSystemDiskIopsConfiguration": { + "properties": { + "iops": { + "type": "integer" + }, + "mode": { + "type": "string" + } + }, + "type": "object", + "required": [ + "iops", + "mode" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:gamelift/AliasRoutingStrategy:AliasRoutingStrategy": { "properties": { "fleetId": { @@ -57221,6 +57294,34 @@ "databaseName" ] }, + "aws:glue/CatalogTableOpenTableFormatInput:CatalogTableOpenTableFormatInput": { + "properties": { + "icebergInput": { + "$ref": "#/types/aws:glue/CatalogTableOpenTableFormatInputIcebergInput:CatalogTableOpenTableFormatInputIcebergInput", + "description": "Configuration block for iceberg table config. See `iceberg_input` below.\n" + } + }, + "type": "object", + "required": [ + "icebergInput" + ] + }, + "aws:glue/CatalogTableOpenTableFormatInputIcebergInput:CatalogTableOpenTableFormatInputIcebergInput": { + "properties": { + "metadataOperation": { + "type": "string", + "description": "A required metadata operation. Can only be set to CREATE.\n" + }, + "version": { + "type": "string", + "description": "The table version for the Iceberg table. Defaults to 2.\n" + } + }, + "type": "object", + "required": [ + "metadataOperation" + ] + }, "aws:glue/CatalogTablePartitionIndex:CatalogTablePartitionIndex": { "properties": { "indexName": { @@ -64165,6 +64266,23 @@ } } }, + "aws:identitystore/getGroupFilter:getGroupFilter": { + "properties": { + "attributePath": { + "type": "string", + "description": "Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path.\n" + }, + "attributeValue": { + "type": "string", + "description": "Value for an attribute.\n" + } + }, + "type": "object", + "required": [ + "attributePath", + "attributeValue" + ] + }, "aws:identitystore/getUserAddress:getUserAddress": { "properties": { "country": { @@ -64313,6 +64431,23 @@ } } }, + "aws:identitystore/getUserFilter:getUserFilter": { + "properties": { + "attributePath": { + "type": "string", + "description": "Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path.\n" + }, + "attributeValue": { + "type": "string", + "description": "Value for an attribute.\n" + } + }, + "type": "object", + "required": [ + "attributePath", + "attributeValue" + ] + }, "aws:identitystore/getUserName:getUserName": { "properties": { "familyName": { @@ -80672,7 +80807,7 @@ }, "udpOutputSettings": { "$ref": "#/types/aws:medialive/ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings:ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings", - "description": "UDP output settings. See UDP Output Settings for more details\n" + "description": "UDP output settings. See UDP Output Settings for more details.\n" } }, "type": "object" @@ -82141,7 +82276,8 @@ "aws:medialive/ChannelInputAttachment:ChannelInputAttachment": { "properties": { "automaticInputFailoverSettings": { - "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettings:ChannelInputAttachmentAutomaticInputFailoverSettings" + "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettings:ChannelInputAttachmentAutomaticInputFailoverSettings", + "description": "User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details.\n" }, "inputAttachmentName": { "type": "string", @@ -82153,7 +82289,7 @@ }, "inputSettings": { "$ref": "#/types/aws:medialive/ChannelInputAttachmentInputSettings:ChannelInputAttachmentInputSettings", - "description": "Settings of an input. See Input Settings for more details\n" + "description": "Settings of an input. See Input Settings for more details.\n" } }, "type": "object", @@ -82174,7 +82310,8 @@ "aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettings:ChannelInputAttachmentAutomaticInputFailoverSettings": { "properties": { "errorClearTimeMsec": { - "type": "integer" + "type": "integer", + "description": "This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\\_preference for the failover pair is set to PRIMARY\\_INPUT\\_PREFERRED, because after this time, MediaLive will switch back to the primary input.\n" }, "failoverConditions": { "type": "array", @@ -82183,10 +82320,12 @@ } }, "inputPreference": { - "type": "string" + "type": "string", + "description": "Input preference when deciding which input to make active when a previously failed input has recovered.\n" }, "secondaryInputId": { - "type": "string" + "type": "string", + "description": "The input ID of the secondary input in the automatic input failover pair.\n" } }, "type": "object", @@ -82197,7 +82336,8 @@ "aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition": { "properties": { "failoverConditionSettings": { - "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings" + "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings", + "description": "Failover condition type-specific settings. See Failover Condition Settings for more details.\n" } }, "type": "object" @@ -82205,13 +82345,16 @@ "aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings": { "properties": { "audioSilenceSettings": { - "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings" + "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings", + "description": "MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details.\n" }, "inputLossSettings": { - "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings" + "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings", + "description": "MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details.\n" }, "videoBlackSettings": { - "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings" + "$ref": "#/types/aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings", + "description": "MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details.\n" } }, "type": "object" @@ -82220,10 +82363,11 @@ "properties": { "audioSelectorName": { "type": "string", - "description": "The name of the audio selector used as the source for this AudioDescription.\n" + "description": "The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank.\n" }, "audioSilenceThresholdMsec": { - "type": "integer" + "type": "integer", + "description": "The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS.\n" } }, "type": "object", @@ -82234,7 +82378,8 @@ "aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings": { "properties": { "inputLossThresholdMsec": { - "type": "integer" + "type": "integer", + "description": "The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur.\n" } }, "type": "object" @@ -82242,10 +82387,12 @@ "aws:medialive/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings:ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings": { "properties": { "blackDetectThreshold": { - "type": "number" + "type": "number", + "description": "A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places.\n" }, "videoBlackThresholdMsec": { - "type": "integer" + "type": "integer", + "description": "The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs.\n" } }, "type": "object" @@ -87465,6 +87612,22 @@ "automatedSnapshotStartHour" ] }, + "aws:opensearch/DomainSoftwareUpdateOptions:DomainSoftwareUpdateOptions": { + "properties": { + "autoSoftwareUpdateEnabled": { + "type": "boolean", + "description": "Whether automatic service software updates are enabled for the domain. Defaults to `false`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "autoSoftwareUpdateEnabled" + ] + } + } + }, "aws:opensearch/DomainVpcOptions:DomainVpcOptions": { "properties": { "availabilityZones": { @@ -88085,6 +88248,23 @@ } } }, + "aws:opensearch/getDomainSoftwareUpdateOption:getDomainSoftwareUpdateOption": { + "properties": { + "autoSoftwareUpdateEnabled": { + "type": "boolean", + "description": "Enabled or disabled.\n" + } + }, + "type": "object", + "required": [ + "autoSoftwareUpdateEnabled" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:opensearch/getDomainVpcOption:getDomainVpcOption": { "properties": { "availabilityZones": { @@ -108434,6 +108614,34 @@ } } }, + "aws:shield/DrtAccessLogBucketAssociationTimeouts:DrtAccessLogBucketAssociationTimeouts": { + "properties": { + "create": { + "type": "string" + }, + "delete": { + "type": "string" + }, + "read": { + "type": "string" + } + }, + "type": "object" + }, + "aws:shield/DrtAccessRoleArnAssociationTimeouts:DrtAccessRoleArnAssociationTimeouts": { + "properties": { + "create": { + "type": "string" + }, + "delete": { + "type": "string" + }, + "read": { + "type": "string" + } + }, + "type": "object" + }, "aws:signer/SigningJobDestination:SigningJobDestination": { "properties": { "s3": { @@ -111272,6 +111480,49 @@ "value" ] }, + "aws:verifiedaccess/TrustProviderDeviceOptions:TrustProviderDeviceOptions": { + "properties": { + "tenantId": { + "type": "string" + } + }, + "type": "object" + }, + "aws:verifiedaccess/TrustProviderOidcOptions:TrustProviderOidcOptions": { + "properties": { + "authorizationEndpoint": { + "type": "string", + "willReplaceOnChanges": true + }, + "clientId": { + "type": "string", + "willReplaceOnChanges": true + }, + "clientSecret": { + "type": "string", + "secret": true + }, + "issuer": { + "type": "string", + "willReplaceOnChanges": true + }, + "scope": { + "type": "string" + }, + "tokenEndpoint": { + "type": "string", + "willReplaceOnChanges": true + }, + "userInfoEndpoint": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "clientSecret" + ] + }, "aws:vpc/getSecurityGroupRuleFilter:getSecurityGroupRuleFilter": { "properties": { "name": { @@ -125494,7 +125745,7 @@ } }, "aws:acmpca/certificateAuthority:CertificateAuthority": { - "description": "Provides a resource to manage AWS Certificate Manager Private Certificate Authorities (ACM PCA Certificate Authorities).\n\n\u003e **NOTE:** Creating this resource will leave the certificate authority in a `PENDING_CERTIFICATE` status, which means it cannot yet issue certificates. To complete this setup, you must fully sign the certificate authority CSR available in the `certificate_signing_request` attribute. The `aws.acmpca.CertificateAuthorityCertificate` resource can be used for this purpose.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n permanent_deletion_time_in_days=7)\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.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\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.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\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 CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n```\n{{% /example %}}\n{{% example %}}\n### Short-lived certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n usageMode: \"SHORT_LIVED_CERTIFICATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n usage_mode=\"SHORT_LIVED_CERTIFICATE\")\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.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n UsageMode = \"SHORT_LIVED_CERTIFICATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUsageMode: pulumi.String(\"SHORT_LIVED_CERTIFICATE\"),\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.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\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 CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .usageMode(\"SHORT_LIVED_CERTIFICATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n usageMode: SHORT_LIVED_CERTIFICATE\n```\n{{% /example %}}\n{{% example %}}\n### Enable Certificate Revocation List\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"exampleBucketV2\", {});\nconst acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n principals: [{\n identifiers: [\"acm-pca.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"exampleBucketPolicy\", {\n bucket: exampleBucketV2.id,\n policy: acmpcaBucketAccess.apply(acmpcaBucketAccess =\u003e acmpcaBucketAccess.json),\n});\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"exampleCertificateAuthority\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n revocationConfiguration: {\n crlConfiguration: {\n customCname: \"crl.example.com\",\n enabled: true,\n expirationInDays: 7,\n s3BucketName: exampleBucketV2.id,\n },\n },\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"exampleBucketV2\")\nacmpca_bucket_access = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources=[\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"acm-pca.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nexample_bucket_policy = aws.s3.BucketPolicy(\"exampleBucketPolicy\",\n bucket=example_bucket_v2.id,\n policy=acmpca_bucket_access.json)\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"exampleCertificateAuthority\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n revocation_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationArgs(\n crl_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs(\n custom_cname=\"crl.example.com\",\n enabled=True,\n expiration_in_days=7,\n s3_bucket_name=example_bucket_v2.id,\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\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 exampleBucketV2 = new Aws.S3.BucketV2(\"exampleBucketV2\");\n\n var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"acm-pca.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"exampleBucketPolicy\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = acmpcaBucketAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"exampleCertificateAuthority\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n RevocationConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationArgs\n {\n CrlConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs\n {\n CustomCname = \"crl.example.com\",\n Enabled = true,\n ExpirationInDays = 7,\n S3BucketName = exampleBucketV2.Id,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\texampleBucketV2, err := s3.NewBucketV2(ctx, \"exampleBucketV2\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacmpcaBucketAccess := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"acm-pca.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"exampleBucketPolicy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: acmpcaBucketAccess.ApplyT(func(acmpcaBucketAccess iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026acmpcaBucketAccess.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthority(ctx, \"exampleCertificateAuthority\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRevocationConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationArgs{\n\t\t\t\tCrlConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs{\n\t\t\t\t\tCustomCname: pulumi.String(\"crl.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirationInDays: pulumi.Int(7),\n\t\t\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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.s3.BucketV2;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs;\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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\");\n\n final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"acm-pca.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(exampleBucketV2.id())\n .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(acmpcaBucketAccess -\u003e acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs.builder()\n .crlConfiguration(CertificateAuthorityRevocationConfigurationCrlConfigurationArgs.builder()\n .customCname(\"crl.example.com\")\n .enabled(true)\n .expirationInDays(7)\n .s3BucketName(exampleBucketV2.id())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${acmpcaBucketAccess.json}\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n revocationConfiguration:\n crlConfiguration:\n customCname: crl.example.com\n enabled: true\n expirationInDays: 7\n s3BucketName: ${exampleBucketV2.id}\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n acmpcaBucketAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetBucketAcl\n - s3:GetBucketLocation\n - s3:PutObject\n - s3:PutObjectAcl\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n principals:\n - identifiers:\n - acm-pca.amazonaws.com\n type: Service\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_certificate_authority` using the certificate authority ARN. For example:\n\n```sh\n $ pulumi import aws:acmpca/certificateAuthority:CertificateAuthority example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n ", + "description": "Provides a resource to manage AWS Certificate Manager Private Certificate Authorities (ACM PCA Certificate Authorities).\n\n\u003e **NOTE:** Creating this resource will leave the certificate authority in a `PENDING_CERTIFICATE` status, which means it cannot yet issue certificates. To complete this setup, you must fully sign the certificate authority CSR available in the `certificate_signing_request` attribute. The `aws.acmpca.CertificateAuthorityCertificate` resource can be used for this purpose.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n permanentDeletionTimeInDays: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n permanent_deletion_time_in_days=7)\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.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n PermanentDeletionTimeInDays = 7,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPermanentDeletionTimeInDays: pulumi.Int(7),\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.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\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 CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .permanentDeletionTimeInDays(7)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n permanentDeletionTimeInDays: 7\n```\n{{% /example %}}\n{{% example %}}\n### Short-lived certificate\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.acmpca.CertificateAuthority(\"example\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n usageMode: \"SHORT_LIVED_CERTIFICATE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.acmpca.CertificateAuthority(\"example\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n usage_mode=\"SHORT_LIVED_CERTIFICATE\")\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.Acmpca.CertificateAuthority(\"example\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n UsageMode = \"SHORT_LIVED_CERTIFICATE\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\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 := acmpca.NewCertificateAuthority(ctx, \"example\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tUsageMode: pulumi.String(\"SHORT_LIVED_CERTIFICATE\"),\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.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\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 CertificateAuthority(\"example\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .usageMode(\"SHORT_LIVED_CERTIFICATE\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n usageMode: SHORT_LIVED_CERTIFICATE\n```\n{{% /example %}}\n{{% example %}}\n### Enable Certificate Revocation List\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleBucketV2 = new aws.s3.BucketV2(\"exampleBucketV2\", {forceDestroy: true});\nconst acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources: [\n exampleBucketV2.arn,\n pulumi.interpolate`${exampleBucketV2.arn}/*`,\n ],\n principals: [{\n identifiers: [\"acm-pca.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst exampleBucketPolicy = new aws.s3.BucketPolicy(\"exampleBucketPolicy\", {\n bucket: exampleBucketV2.id,\n policy: acmpcaBucketAccess.apply(acmpcaBucketAccess =\u003e acmpcaBucketAccess.json),\n});\nconst exampleCertificateAuthority = new aws.acmpca.CertificateAuthority(\"exampleCertificateAuthority\", {\n certificateAuthorityConfiguration: {\n keyAlgorithm: \"RSA_4096\",\n signingAlgorithm: \"SHA512WITHRSA\",\n subject: {\n commonName: \"example.com\",\n },\n },\n revocationConfiguration: {\n crlConfiguration: {\n customCname: \"crl.example.com\",\n enabled: true,\n expirationInDays: 7,\n s3BucketName: exampleBucketV2.id,\n s3ObjectAcl: \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n}, {\n dependsOn: [exampleBucketPolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_bucket_v2 = aws.s3.BucketV2(\"exampleBucketV2\", force_destroy=True)\nacmpca_bucket_access = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n ],\n resources=[\n example_bucket_v2.arn,\n example_bucket_v2.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"acm-pca.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\nexample_bucket_policy = aws.s3.BucketPolicy(\"exampleBucketPolicy\",\n bucket=example_bucket_v2.id,\n policy=acmpca_bucket_access.json)\nexample_certificate_authority = aws.acmpca.CertificateAuthority(\"exampleCertificateAuthority\",\n certificate_authority_configuration=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs(\n key_algorithm=\"RSA_4096\",\n signing_algorithm=\"SHA512WITHRSA\",\n subject=aws.acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs(\n common_name=\"example.com\",\n ),\n ),\n revocation_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationArgs(\n crl_configuration=aws.acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs(\n custom_cname=\"crl.example.com\",\n enabled=True,\n expiration_in_days=7,\n s3_bucket_name=example_bucket_v2.id,\n s3_object_acl=\"BUCKET_OWNER_FULL_CONTROL\",\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy]))\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 exampleBucketV2 = new Aws.S3.BucketV2(\"exampleBucketV2\", new()\n {\n ForceDestroy = true,\n });\n\n var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\",\n },\n Resources = new[]\n {\n exampleBucketV2.Arn,\n $\"{exampleBucketV2.Arn}/*\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"acm-pca.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var exampleBucketPolicy = new Aws.S3.BucketPolicy(\"exampleBucketPolicy\", new()\n {\n Bucket = exampleBucketV2.Id,\n Policy = acmpcaBucketAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleCertificateAuthority = new Aws.Acmpca.CertificateAuthority(\"exampleCertificateAuthority\", new()\n {\n CertificateAuthorityConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs\n {\n KeyAlgorithm = \"RSA_4096\",\n SigningAlgorithm = \"SHA512WITHRSA\",\n Subject = new Aws.Acmpca.Inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs\n {\n CommonName = \"example.com\",\n },\n },\n RevocationConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationArgs\n {\n CrlConfiguration = new Aws.Acmpca.Inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs\n {\n CustomCname = \"crl.example.com\",\n Enabled = true,\n ExpirationInDays = 7,\n S3BucketName = exampleBucketV2.Id,\n S3ObjectAcl = \"BUCKET_OWNER_FULL_CONTROL\",\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleBucketPolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/acmpca\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\texampleBucketV2, err := s3.NewBucketV2(ctx, \"exampleBucketV2\", \u0026s3.BucketV2Args{\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tacmpcaBucketAccess := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketLocation\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texampleBucketV2.Arn,\n\t\t\t\t\t\texampleBucketV2.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: iam.GetPolicyDocumentStatementPrincipalArray{\n\t\t\t\t\t\t\u0026iam.GetPolicyDocumentStatementPrincipalArgs{\n\t\t\t\t\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"acm-pca.amazonaws.com\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(\"Service\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\texampleBucketPolicy, err := s3.NewBucketPolicy(ctx, \"exampleBucketPolicy\", \u0026s3.BucketPolicyArgs{\n\t\t\tBucket: exampleBucketV2.ID(),\n\t\t\tPolicy: acmpcaBucketAccess.ApplyT(func(acmpcaBucketAccess iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026acmpcaBucketAccess.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = acmpca.NewCertificateAuthority(ctx, \"exampleCertificateAuthority\", \u0026acmpca.CertificateAuthorityArgs{\n\t\t\tCertificateAuthorityConfiguration: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationArgs{\n\t\t\t\tKeyAlgorithm: pulumi.String(\"RSA_4096\"),\n\t\t\t\tSigningAlgorithm: pulumi.String(\"SHA512WITHRSA\"),\n\t\t\t\tSubject: \u0026acmpca.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs{\n\t\t\t\t\tCommonName: pulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRevocationConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationArgs{\n\t\t\t\tCrlConfiguration: \u0026acmpca.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs{\n\t\t\t\t\tCustomCname: pulumi.String(\"crl.example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpirationInDays: pulumi.Int(7),\n\t\t\t\t\tS3BucketName: exampleBucketV2.ID(),\n\t\t\t\t\tS3ObjectAcl: pulumi.String(\"BUCKET_OWNER_FULL_CONTROL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleBucketPolicy,\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.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.s3.BucketPolicy;\nimport com.pulumi.aws.s3.BucketPolicyArgs;\nimport com.pulumi.aws.acmpca.CertificateAuthority;\nimport com.pulumi.aws.acmpca.CertificateAuthorityArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;\nimport com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationCrlConfigurationArgs;\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 exampleBucketV2 = new BucketV2(\"exampleBucketV2\", BucketV2Args.builder() \n .forceDestroy(true)\n .build());\n\n final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"s3:GetBucketAcl\",\n \"s3:GetBucketLocation\",\n \"s3:PutObject\",\n \"s3:PutObjectAcl\")\n .resources( \n exampleBucketV2.arn(),\n exampleBucketV2.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"acm-pca.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var exampleBucketPolicy = new BucketPolicy(\"exampleBucketPolicy\", BucketPolicyArgs.builder() \n .bucket(exampleBucketV2.id())\n .policy(acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(acmpcaBucketAccess -\u003e acmpcaBucketAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var exampleCertificateAuthority = new CertificateAuthority(\"exampleCertificateAuthority\", CertificateAuthorityArgs.builder() \n .certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs.builder()\n .keyAlgorithm(\"RSA_4096\")\n .signingAlgorithm(\"SHA512WITHRSA\")\n .subject(CertificateAuthorityCertificateAuthorityConfigurationSubjectArgs.builder()\n .commonName(\"example.com\")\n .build())\n .build())\n .revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs.builder()\n .crlConfiguration(CertificateAuthorityRevocationConfigurationCrlConfigurationArgs.builder()\n .customCname(\"crl.example.com\")\n .enabled(true)\n .expirationInDays(7)\n .s3BucketName(exampleBucketV2.id())\n .s3ObjectAcl(\"BUCKET_OWNER_FULL_CONTROL\")\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleBucketPolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleBucketV2:\n type: aws:s3:BucketV2\n properties:\n forceDestroy: true\n exampleBucketPolicy:\n type: aws:s3:BucketPolicy\n properties:\n bucket: ${exampleBucketV2.id}\n policy: ${acmpcaBucketAccess.json}\n exampleCertificateAuthority:\n type: aws:acmpca:CertificateAuthority\n properties:\n certificateAuthorityConfiguration:\n keyAlgorithm: RSA_4096\n signingAlgorithm: SHA512WITHRSA\n subject:\n commonName: example.com\n revocationConfiguration:\n crlConfiguration:\n customCname: crl.example.com\n enabled: true\n expirationInDays: 7\n s3BucketName: ${exampleBucketV2.id}\n s3ObjectAcl: BUCKET_OWNER_FULL_CONTROL\n options:\n dependson:\n - ${exampleBucketPolicy}\nvariables:\n acmpcaBucketAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - s3:GetBucketAcl\n - s3:GetBucketLocation\n - s3:PutObject\n - s3:PutObjectAcl\n resources:\n - ${exampleBucketV2.arn}\n - ${exampleBucketV2.arn}/*\n principals:\n - identifiers:\n - acm-pca.amazonaws.com\n type: Service\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import `aws_acmpca_certificate_authority` using the certificate authority ARN. For example:\n\n```sh\n $ pulumi import aws:acmpca/certificateAuthority:CertificateAuthority example arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012\n```\n ", "properties": { "arn": { "type": "string", @@ -128244,10 +128495,21 @@ "aws:apigateway/account:Account": { "description": "Provides a settings of an API Gateway Account. Settings is applied region-wide per `provider` block.\n\n\u003e **Note:** As there is no API method for deleting account settings or resetting it to defaults, destroying this resource will keep your account settings intact\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"apigateway.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst cloudwatchRole = new aws.iam.Role(\"cloudwatchRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst demo = new aws.apigateway.Account(\"demo\", {cloudwatchRoleArn: cloudwatchRole.arn});\nconst cloudwatchPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources: [\"*\"],\n }],\n});\nconst cloudwatchRolePolicy = new aws.iam.RolePolicy(\"cloudwatchRolePolicy\", {\n role: cloudwatchRole.id,\n policy: cloudwatchPolicyDocument.then(cloudwatchPolicyDocument =\u003e cloudwatchPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"apigateway.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncloudwatch_role = aws.iam.Role(\"cloudwatchRole\", assume_role_policy=assume_role.json)\ndemo = aws.apigateway.Account(\"demo\", cloudwatch_role_arn=cloudwatch_role.arn)\ncloudwatch_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n ],\n resources=[\"*\"],\n)])\ncloudwatch_role_policy = aws.iam.RolePolicy(\"cloudwatchRolePolicy\",\n role=cloudwatch_role.id,\n policy=cloudwatch_policy_document.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"apigateway.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var cloudwatchRole = new Aws.Iam.Role(\"cloudwatchRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var demo = new Aws.ApiGateway.Account(\"demo\", new()\n {\n CloudwatchRoleArn = cloudwatchRole.Arn,\n });\n\n var cloudwatchPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var cloudwatchRolePolicy = new Aws.Iam.RolePolicy(\"cloudwatchRolePolicy\", new()\n {\n Role = cloudwatchRole.Id,\n Policy = cloudwatchPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"apigateway.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatchRole, err := iam.NewRole(ctx, \"cloudwatchRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewAccount(ctx, \"demo\", \u0026apigateway.AccountArgs{\n\t\t\tCloudwatchRoleArn: cloudwatchRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcloudwatchPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"logs:CreateLogGroup\",\n\t\t\t\t\t\t\"logs:CreateLogStream\",\n\t\t\t\t\t\t\"logs:DescribeLogGroups\",\n\t\t\t\t\t\t\"logs:DescribeLogStreams\",\n\t\t\t\t\t\t\"logs:PutLogEvents\",\n\t\t\t\t\t\t\"logs:GetLogEvents\",\n\t\t\t\t\t\t\"logs:FilterLogEvents\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"cloudwatchRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: cloudwatchRole.ID(),\n\t\t\tPolicy: *pulumi.String(cloudwatchPolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.apigateway.Account;\nimport com.pulumi.aws.apigateway.AccountArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"apigateway.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var cloudwatchRole = new Role(\"cloudwatchRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var demo = new Account(\"demo\", AccountArgs.builder() \n .cloudwatchRoleArn(cloudwatchRole.arn())\n .build());\n\n final var cloudwatchPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"logs:CreateLogGroup\",\n \"logs:CreateLogStream\",\n \"logs:DescribeLogGroups\",\n \"logs:DescribeLogStreams\",\n \"logs:PutLogEvents\",\n \"logs:GetLogEvents\",\n \"logs:FilterLogEvents\")\n .resources(\"*\")\n .build())\n .build());\n\n var cloudwatchRolePolicy = new RolePolicy(\"cloudwatchRolePolicy\", RolePolicyArgs.builder() \n .role(cloudwatchRole.id())\n .policy(cloudwatchPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n demo:\n type: aws:apigateway:Account\n properties:\n cloudwatchRoleArn: ${cloudwatchRole.arn}\n cloudwatchRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n cloudwatchRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${cloudwatchRole.id}\n policy: ${cloudwatchPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - apigateway.amazonaws.com\n actions:\n - sts:AssumeRole\n cloudwatchPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - logs:CreateLogGroup\n - logs:CreateLogStream\n - logs:DescribeLogGroups\n - logs:DescribeLogStreams\n - logs:PutLogEvents\n - logs:GetLogEvents\n - logs:FilterLogEvents\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import API Gateway Accounts using the word `api-gateway-account`. For example:\n\n```sh\n $ pulumi import aws:apigateway/account:Account demo api-gateway-account\n```\n ", "properties": { + "apiKeyVersion": { + "type": "string", + "description": "The version of the API keys used for the account.\n" + }, "cloudwatchRoleArn": { "type": "string", "description": "ARN of an IAM role for CloudWatch (to allow logging \u0026 monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging \u0026 monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level.\n" }, + "features": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of features supported for the account.\n" + }, "throttleSettings": { "type": "array", "items": { @@ -128257,6 +128519,8 @@ } }, "required": [ + "apiKeyVersion", + "features", "throttleSettings" ], "inputProperties": { @@ -128268,10 +128532,21 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Account resources.\n", "properties": { + "apiKeyVersion": { + "type": "string", + "description": "The version of the API keys used for the account.\n" + }, "cloudwatchRoleArn": { "type": "string", "description": "ARN of an IAM role for CloudWatch (to allow logging \u0026 monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging \u0026 monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level.\n" }, + "features": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of features supported for the account.\n" + }, "throttleSettings": { "type": "array", "items": { @@ -128284,7 +128559,7 @@ } }, "aws:apigateway/apiKey:ApiKey": { - "description": "Provides an API Gateway API Key.\n\n\u003e **NOTE:** Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now **required** to associate an API key with an API stage.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDemoApiKey = new aws.apigateway.ApiKey(\"myDemoApiKey\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_demo_api_key = aws.apigateway.ApiKey(\"myDemoApiKey\")\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 myDemoApiKey = new Aws.ApiGateway.ApiKey(\"myDemoApiKey\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.NewApiKey(ctx, \"myDemoApiKey\", 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.apigateway.ApiKey;\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 myDemoApiKey = new ApiKey(\"myDemoApiKey\");\n\n }\n}\n```\n```yaml\nresources:\n myDemoApiKey:\n type: aws:apigateway:ApiKey\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import API Gateway Keys using the `id`. For example:\n\n```sh\n $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk\n```\n ", + "description": "Provides an API Gateway API Key.\n\n\u003e **NOTE:** Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now **required** to associate an API key with an API stage.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.apigateway.ApiKey(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.apigateway.ApiKey(\"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 example = new Aws.ApiGateway.ApiKey(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.NewApiKey(ctx, \"example\", 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.apigateway.ApiKey;\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 ApiKey(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:apigateway:ApiKey\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nterraform import {\n\n to = aws_api_gateway_api_key.example\n\n id = \"8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk\" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk ", "properties": { "arn": { "type": "string", @@ -128294,6 +128569,10 @@ "type": "string", "description": "Creation date of the API key\n" }, + "customerId": { + "type": "string", + "description": "An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace.\n" + }, "description": { "type": "string", "description": "API key description. Defaults to \"Managed by Pulumi\".\n", @@ -128341,6 +128620,10 @@ "value" ], "inputProperties": { + "customerId": { + "type": "string", + "description": "An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace.\n" + }, "description": { "type": "string", "description": "API key description. Defaults to \"Managed by Pulumi\".\n", @@ -128352,8 +128635,7 @@ }, "name": { "type": "string", - "description": "Name of the API key.\n", - "willReplaceOnChanges": true + "description": "Name of the API key.\n" }, "tags": { "type": "object", @@ -128380,6 +128662,10 @@ "type": "string", "description": "Creation date of the API key\n" }, + "customerId": { + "type": "string", + "description": "An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace.\n" + }, "description": { "type": "string", "description": "API key description. Defaults to \"Managed by Pulumi\".\n", @@ -128395,8 +128681,7 @@ }, "name": { "type": "string", - "description": "Name of the API key.\n", - "willReplaceOnChanges": true + "description": "Name of the API key.\n" }, "tags": { "type": "object", @@ -130526,7 +130811,7 @@ } }, "aws:apigateway/response:Response": { - "description": "Provides an API Gateway Gateway Response for a REST API Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.apigateway.RestApi(\"main\", {});\nconst test = new aws.apigateway.Response(\"test\", {\n restApiId: main.id,\n statusCode: \"401\",\n responseType: \"UNAUTHORIZED\",\n responseTemplates: {\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n responseParameters: {\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apigateway.RestApi(\"main\")\ntest = aws.apigateway.Response(\"test\",\n rest_api_id=main.id,\n status_code=\"401\",\n response_type=\"UNAUTHORIZED\",\n response_templates={\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n response_parameters={\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\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 main = new Aws.ApiGateway.RestApi(\"main\");\n\n var test = new Aws.ApiGateway.Response(\"test\", new()\n {\n RestApiId = main.Id,\n StatusCode = \"401\",\n ResponseType = \"UNAUTHORIZED\",\n ResponseTemplates = \n {\n { \"application/json\", \"{\\\"message\\\":$context.error.messageString}\" },\n },\n ResponseParameters = \n {\n { \"gatewayresponse.header.Authorization\", \"'Basic'\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.NewRestApi(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewResponse(ctx, \"test\", \u0026apigateway.ResponseArgs{\n\t\t\tRestApiId: main.ID(),\n\t\t\tStatusCode: pulumi.String(\"401\"),\n\t\t\tResponseType: pulumi.String(\"UNAUTHORIZED\"),\n\t\t\tResponseTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"{\\\"message\\\":$context.error.messageString}\"),\n\t\t\t},\n\t\t\tResponseParameters: pulumi.StringMap{\n\t\t\t\t\"gatewayresponse.header.Authorization\": pulumi.String(\"'Basic'\"),\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.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.Response;\nimport com.pulumi.aws.apigateway.ResponseArgs;\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 main = new RestApi(\"main\");\n\n var test = new Response(\"test\", ResponseArgs.builder() \n .restApiId(main.id())\n .statusCode(\"401\")\n .responseType(\"UNAUTHORIZED\")\n .responseTemplates(Map.of(\"application/json\", \"{\\\"message\\\":$context.error.messageString}\"))\n .responseParameters(Map.of(\"gatewayresponse.header.Authorization\", \"'Basic'\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:apigateway:RestApi\n test:\n type: aws:apigateway:Response\n properties:\n restApiId: ${main.id}\n statusCode: '401'\n responseType: UNAUTHORIZED\n responseTemplates:\n application/json: '{\"message\":$context.error.messageString}'\n responseParameters:\n gatewayresponse.header.Authorization: '''Basic'''\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:\n\n```sh\n $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED\n```\n ", + "description": "Provides an API Gateway Gateway Response for a REST API Gateway.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst main = new aws.apigateway.RestApi(\"main\", {});\nconst test = new aws.apigateway.Response(\"test\", {\n restApiId: main.id,\n statusCode: \"401\",\n responseType: \"UNAUTHORIZED\",\n responseTemplates: {\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n responseParameters: {\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmain = aws.apigateway.RestApi(\"main\")\ntest = aws.apigateway.Response(\"test\",\n rest_api_id=main.id,\n status_code=\"401\",\n response_type=\"UNAUTHORIZED\",\n response_templates={\n \"application/json\": \"{\\\"message\\\":$context.error.messageString}\",\n },\n response_parameters={\n \"gatewayresponse.header.Authorization\": \"'Basic'\",\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 main = new Aws.ApiGateway.RestApi(\"main\");\n\n var test = new Aws.ApiGateway.Response(\"test\", new()\n {\n RestApiId = main.Id,\n StatusCode = \"401\",\n ResponseType = \"UNAUTHORIZED\",\n ResponseTemplates = \n {\n { \"application/json\", \"{\\\"message\\\":$context.error.messageString}\" },\n },\n ResponseParameters = \n {\n { \"gatewayresponse.header.Authorization\", \"'Basic'\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway\"\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 := apigateway.NewRestApi(ctx, \"main\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = apigateway.NewResponse(ctx, \"test\", \u0026apigateway.ResponseArgs{\n\t\t\tRestApiId: main.ID(),\n\t\t\tStatusCode: pulumi.String(\"401\"),\n\t\t\tResponseType: pulumi.String(\"UNAUTHORIZED\"),\n\t\t\tResponseTemplates: pulumi.StringMap{\n\t\t\t\t\"application/json\": pulumi.String(\"{\\\"message\\\":$context.error.messageString}\"),\n\t\t\t},\n\t\t\tResponseParameters: pulumi.StringMap{\n\t\t\t\t\"gatewayresponse.header.Authorization\": pulumi.String(\"'Basic'\"),\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.apigateway.RestApi;\nimport com.pulumi.aws.apigateway.Response;\nimport com.pulumi.aws.apigateway.ResponseArgs;\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 main = new RestApi(\"main\");\n\n var test = new Response(\"test\", ResponseArgs.builder() \n .restApiId(main.id())\n .statusCode(\"401\")\n .responseType(\"UNAUTHORIZED\")\n .responseTemplates(Map.of(\"application/json\", \"{\\\"message\\\":$context.error.messageString}\"))\n .responseParameters(Map.of(\"gatewayresponse.header.Authorization\", \"'Basic'\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: aws:apigateway:RestApi\n test:\n type: aws:apigateway:Response\n properties:\n restApiId: ${main.id}\n statusCode: '401'\n responseType: UNAUTHORIZED\n responseTemplates:\n application/json: '{\"message\":$context.error.messageString}'\n responseParameters:\n gatewayresponse.header.Authorization: '''Basic'''\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import {\n\n to = aws_api_gateway_gateway_response.example\n\n id = \"12345abcde/UNAUTHORIZED\" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED ", "properties": { "responseParameters": { "type": "object", @@ -144633,7 +144918,7 @@ } }, "aws:cfg/aggregateAuthorization:AggregateAuthorization": { - "description": "Manages an AWS Config Aggregate Authorization\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.AggregateAuthorization(\"example\", {\n accountId: \"123456789012\",\n region: \"eu-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.AggregateAuthorization(\"example\",\n account_id=\"123456789012\",\n region=\"eu-west-2\")\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.Cfg.AggregateAuthorization(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"eu-west-2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewAggregateAuthorization(ctx, \"example\", \u0026cfg.AggregateAuthorizationArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"eu-west-2\"),\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.cfg.AggregateAuthorization;\nimport com.pulumi.aws.cfg.AggregateAuthorizationArgs;\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 AggregateAuthorization(\"example\", AggregateAuthorizationArgs.builder() \n .accountId(\"123456789012\")\n .region(\"eu-west-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:AggregateAuthorization\n properties:\n accountId: '123456789012'\n region: eu-west-2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example:\n\n```sh\n $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1\n```\n ", + "description": "Manages an AWS Config Aggregate Authorization\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cfg.AggregateAuthorization(\"example\", {\n accountId: \"123456789012\",\n region: \"eu-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cfg.AggregateAuthorization(\"example\",\n account_id=\"123456789012\",\n region=\"eu-west-2\")\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.Cfg.AggregateAuthorization(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"eu-west-2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg\"\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 := cfg.NewAggregateAuthorization(ctx, \"example\", \u0026cfg.AggregateAuthorizationArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"eu-west-2\"),\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.cfg.AggregateAuthorization;\nimport com.pulumi.aws.cfg.AggregateAuthorizationArgs;\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 AggregateAuthorization(\"example\", AggregateAuthorizationArgs.builder() \n .accountId(\"123456789012\")\n .region(\"eu-west-2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cfg:AggregateAuthorization\n properties:\n accountId: '123456789012'\n region: eu-west-2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import {\n\n to = aws_config_aggregate_authorization.example\n\n id = \"123456789012:us-east-1\" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 ", "properties": { "accountId": { "type": "string", @@ -144652,7 +144937,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" + "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", @@ -144684,7 +144969,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" + "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": [ @@ -144713,7 +144998,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" + "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", @@ -147533,7 +147818,7 @@ } }, "aws:cloud9/environmentMembership:EnvironmentMembership": { - "description": "Provides an environment member to an AWS Cloud9 development environment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testEnvironmentEC2 = new aws.cloud9.EnvironmentEC2(\"testEnvironmentEC2\", {instanceType: \"t2.micro\"});\nconst testUser = new aws.iam.User(\"testUser\", {});\nconst testEnvironmentMembership = new aws.cloud9.EnvironmentMembership(\"testEnvironmentMembership\", {\n environmentId: testEnvironmentEC2.id,\n permissions: \"read-only\",\n userArn: testUser.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_environment_ec2 = aws.cloud9.EnvironmentEC2(\"testEnvironmentEC2\", instance_type=\"t2.micro\")\ntest_user = aws.iam.User(\"testUser\")\ntest_environment_membership = aws.cloud9.EnvironmentMembership(\"testEnvironmentMembership\",\n environment_id=test_environment_ec2.id,\n permissions=\"read-only\",\n user_arn=test_user.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testEnvironmentEC2 = new Aws.Cloud9.EnvironmentEC2(\"testEnvironmentEC2\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var testUser = new Aws.Iam.User(\"testUser\");\n\n var testEnvironmentMembership = new Aws.Cloud9.EnvironmentMembership(\"testEnvironmentMembership\", new()\n {\n EnvironmentId = testEnvironmentEC2.Id,\n Permissions = \"read-only\",\n UserArn = testUser.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\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\ttestEnvironmentEC2, err := cloud9.NewEnvironmentEC2(ctx, \"testEnvironmentEC2\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUser, err := iam.NewUser(ctx, \"testUser\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud9.NewEnvironmentMembership(ctx, \"testEnvironmentMembership\", \u0026cloud9.EnvironmentMembershipArgs{\n\t\t\tEnvironmentId: testEnvironmentEC2.ID(),\n\t\t\tPermissions: pulumi.String(\"read-only\"),\n\t\t\tUserArn: testUser.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.cloud9.EnvironmentMembership;\nimport com.pulumi.aws.cloud9.EnvironmentMembershipArgs;\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 testEnvironmentEC2 = new EnvironmentEC2(\"testEnvironmentEC2\", EnvironmentEC2Args.builder() \n .instanceType(\"t2.micro\")\n .build());\n\n var testUser = new User(\"testUser\");\n\n var testEnvironmentMembership = new EnvironmentMembership(\"testEnvironmentMembership\", EnvironmentMembershipArgs.builder() \n .environmentId(testEnvironmentEC2.id())\n .permissions(\"read-only\")\n .userArn(testUser.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEnvironmentEC2:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n testUser:\n type: aws:iam:User\n testEnvironmentMembership:\n type: aws:cloud9:EnvironmentMembership\n properties:\n environmentId: ${testEnvironmentEC2.id}\n permissions: read-only\n userArn: ${testUser.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example:\n\n```sh\n $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn\n```\n ", + "description": "Provides an environment member to an AWS Cloud9 development environment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testEnvironmentEC2 = new aws.cloud9.EnvironmentEC2(\"testEnvironmentEC2\", {instanceType: \"t2.micro\"});\nconst testUser = new aws.iam.User(\"testUser\", {});\nconst testEnvironmentMembership = new aws.cloud9.EnvironmentMembership(\"testEnvironmentMembership\", {\n environmentId: testEnvironmentEC2.id,\n permissions: \"read-only\",\n userArn: testUser.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_environment_ec2 = aws.cloud9.EnvironmentEC2(\"testEnvironmentEC2\", instance_type=\"t2.micro\")\ntest_user = aws.iam.User(\"testUser\")\ntest_environment_membership = aws.cloud9.EnvironmentMembership(\"testEnvironmentMembership\",\n environment_id=test_environment_ec2.id,\n permissions=\"read-only\",\n user_arn=test_user.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testEnvironmentEC2 = new Aws.Cloud9.EnvironmentEC2(\"testEnvironmentEC2\", new()\n {\n InstanceType = \"t2.micro\",\n });\n\n var testUser = new Aws.Iam.User(\"testUser\");\n\n var testEnvironmentMembership = new Aws.Cloud9.EnvironmentMembership(\"testEnvironmentMembership\", new()\n {\n EnvironmentId = testEnvironmentEC2.Id,\n Permissions = \"read-only\",\n UserArn = testUser.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloud9\"\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\ttestEnvironmentEC2, err := cloud9.NewEnvironmentEC2(ctx, \"testEnvironmentEC2\", \u0026cloud9.EnvironmentEC2Args{\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestUser, err := iam.NewUser(ctx, \"testUser\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloud9.NewEnvironmentMembership(ctx, \"testEnvironmentMembership\", \u0026cloud9.EnvironmentMembershipArgs{\n\t\t\tEnvironmentId: testEnvironmentEC2.ID(),\n\t\t\tPermissions: pulumi.String(\"read-only\"),\n\t\t\tUserArn: testUser.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloud9.EnvironmentEC2;\nimport com.pulumi.aws.cloud9.EnvironmentEC2Args;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.cloud9.EnvironmentMembership;\nimport com.pulumi.aws.cloud9.EnvironmentMembershipArgs;\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 testEnvironmentEC2 = new EnvironmentEC2(\"testEnvironmentEC2\", EnvironmentEC2Args.builder() \n .instanceType(\"t2.micro\")\n .build());\n\n var testUser = new User(\"testUser\");\n\n var testEnvironmentMembership = new EnvironmentMembership(\"testEnvironmentMembership\", EnvironmentMembershipArgs.builder() \n .environmentId(testEnvironmentEC2.id())\n .permissions(\"read-only\")\n .userArn(testUser.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testEnvironmentEC2:\n type: aws:cloud9:EnvironmentEC2\n properties:\n instanceType: t2.micro\n testUser:\n type: aws:iam:User\n testEnvironmentMembership:\n type: aws:cloud9:EnvironmentMembership\n properties:\n environmentId: ${testEnvironmentEC2.id}\n permissions: read-only\n userArn: ${testUser.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import {\n\n to = aws_cloud9_environment_membership.test\n\n id = \"environment-id#user-arn\" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn ", "properties": { "environmentId": { "type": "string", @@ -148150,7 +148435,7 @@ } }, "aws:cloudformation/stackSet:StackSet": { - "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"aWSCloudFormationStackSetAdministrationRole\", {assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json)});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", {\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"cloudformation.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"aWSCloudFormationStackSetAdministrationRole\", assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json)\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n resources=[example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n)])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy_policy_document.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"aWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", new()\n {\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"aWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t})\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\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\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},\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 := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tPolicy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\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 final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder() \n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\n Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN\n```\n ", + "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"aWSCloudFormationStackSetAdministrationRole\", {assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json)});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", {\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"cloudformation.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"aWSCloudFormationStackSetAdministrationRole\", assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json)\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy_policy_document = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n resources=[example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n)])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy_policy_document.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"aWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", new()\n {\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"aWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t})\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\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\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},\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 := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tPolicy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\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 final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder() \n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\n Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n ", "properties": { "administrationRoleArn": { "type": "string", @@ -148400,7 +148685,7 @@ } }, "aws:cloudformation/stackSetInstance:StackSetInstance": { - "description": "Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `execution_role_name` argument in the `aws.cloudformation.StackSet` resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) for more details.\n\n\u003e **NOTE:** To retain the Stack during resource destroy, ensure `retain_stack` has been set to `true` in the state first. This must be completed _before_ a deployment that would destroy the resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n accountId: \"123456789012\",\n region: \"us-east-1\",\n stackSetName: aws_cloudformation_stack_set.example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n account_id=\"123456789012\",\n region=\"us-east-1\",\n stack_set_name=aws_cloudformation_stack_set[\"example\"][\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"us-east-1\",\n StackSetName = aws_cloudformation_stack_set.Example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(aws_cloudformation_stack_set.Example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\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 StackSetInstance(\"example\", StackSetInstanceArgs.builder() \n .accountId(\"123456789012\")\n .region(\"us-east-1\")\n .stackSetName(aws_cloudformation_stack_set.example().name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n accountId: '123456789012'\n region: us-east-1\n stackSetName: ${aws_cloudformation_stack_set.example.name}\n```\n{{% /example %}}\n{{% example %}}\n### Example IAM Setup in Target Account\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aws_iam_role.AWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"aWSCloudFormationStackSetExecutionRole\", {assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json)});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", {\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[aws_iam_role[\"AWSCloudFormationStackSetAdministrationRole\"][\"arn\"]],\n type=\"AWS\",\n )],\n)])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"aWSCloudFormationStackSetExecutionRole\", assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json)\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect=\"Allow\",\n resources=[\"*\"],\n)])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_policy_document.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aws_iam_role.AWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"aWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", new()\n {\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naws_iam_role.AWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"aWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: *pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\n})\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", \u0026iam.RolePolicyArgs{\nPolicy: *pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aws_iam_role.AWSCloudFormationStackSetAdministrationRole().arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aws_iam_role.AWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example Deployment across Organizations account\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [aws_organizations_organization.example.roots[0].id],\n },\n region: \"us-east-1\",\n stackSetName: aws_cloudformation_stack_set.example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n deployment_targets=aws.cloudformation.StackSetInstanceDeploymentTargetsArgs(\n organizational_unit_ids=[aws_organizations_organization[\"example\"][\"roots\"][0][\"id\"]],\n ),\n region=\"us-east-1\",\n stack_set_name=aws_cloudformation_stack_set[\"example\"][\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackSetInstanceDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n aws_organizations_organization.Example.Roots[0].Id,\n },\n },\n Region = \"us-east-1\",\n StackSetName = aws_cloudformation_stack_set.Example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackSetInstanceDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\taws_organizations_organization.Example.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(aws_cloudformation_stack_set.Example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;\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 StackSetInstance(\"example\", StackSetInstanceArgs.builder() \n .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder()\n .organizationalUnitIds(aws_organizations_organization.example().roots()[0].id())\n .build())\n .region(\"us-east-1\")\n .stackSetName(aws_cloudformation_stack_set.example().name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${aws_organizations_organization.example.roots[0].id}\n region: us-east-1\n stackSetName: ${aws_cloudformation_stack_set.example.name}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\nUsing `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,123456789012,us-east-1\n```\n Using `TODO import`, import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1\n```\n Using `TODO import`, import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1,DELEGATED_ADMIN\n```\n ", + "description": "Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `execution_role_name` argument in the `aws.cloudformation.StackSet` resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) for more details.\n\n\u003e **NOTE:** To retain the Stack during resource destroy, ensure `retain_stack` has been set to `true` in the state first. This must be completed _before_ a deployment that would destroy the resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n accountId: \"123456789012\",\n region: \"us-east-1\",\n stackSetName: aws_cloudformation_stack_set.example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n account_id=\"123456789012\",\n region=\"us-east-1\",\n stack_set_name=aws_cloudformation_stack_set[\"example\"][\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n AccountId = \"123456789012\",\n Region = \"us-east-1\",\n StackSetName = aws_cloudformation_stack_set.Example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(aws_cloudformation_stack_set.Example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\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 StackSetInstance(\"example\", StackSetInstanceArgs.builder() \n .accountId(\"123456789012\")\n .region(\"us-east-1\")\n .stackSetName(aws_cloudformation_stack_set.example().name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n accountId: '123456789012'\n region: us-east-1\n stackSetName: ${aws_cloudformation_stack_set.example.name}\n```\n{{% /example %}}\n{{% example %}}\n### Example IAM Setup in Target Account\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [aws_iam_role.AWSCloudFormationStackSetAdministrationRole.arn],\n type: \"AWS\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRole = new aws.iam.Role(\"aWSCloudFormationStackSetExecutionRole\", {assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.then(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json)});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect: \"Allow\",\n resources: [\"*\"],\n }],\n});\nconst aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", {\n policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.then(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument =\u003e aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.json),\n role: aWSCloudFormationStackSetExecutionRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_execution_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[aws_iam_role[\"AWSCloudFormationStackSetAdministrationRole\"][\"arn\"]],\n type=\"AWS\",\n )],\n)])\na_ws_cloud_formation_stack_set_execution_role = aws.iam.Role(\"aWSCloudFormationStackSetExecutionRole\", assume_role_policy=a_ws_cloud_formation_stack_set_execution_role_assume_role_policy.json)\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n ],\n effect=\"Allow\",\n resources=[\"*\"],\n)])\na_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_role_policy = aws.iam.RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\",\n policy=a_ws_cloud_formation_stack_set_execution_role_minimum_execution_policy_policy_document.json,\n role=a_ws_cloud_formation_stack_set_execution_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n aws_iam_role.AWSCloudFormationStackSetAdministrationRole.Arn,\n },\n Type = \"AWS\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRole = new Aws.Iam.Role(\"aWSCloudFormationStackSetExecutionRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", new()\n {\n Policy = aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetExecutionRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\naWSCloudFormationStackSetExecutionRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: interface{}{\naws_iam_role.AWSCloudFormationStackSetAdministrationRole.Arn,\n},\nType: \"AWS\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRole, err := iam.NewRole(ctx, \"aWSCloudFormationStackSetExecutionRole\", \u0026iam.RoleArgs{\nAssumeRolePolicy: *pulumi.String(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.Json),\n})\nif err != nil {\nreturn err\n}\naWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"cloudformation:*\",\n\"s3:*\",\n\"sns:*\",\n},\nEffect: pulumi.StringRef(\"Allow\"),\nResources: []string{\n\"*\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", \u0026iam.RolePolicyArgs{\nPolicy: *pulumi.String(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.Json),\nRole: aWSCloudFormationStackSetExecutionRole.Name,\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(aws_iam_role.AWSCloudFormationStackSetAdministrationRole().arn())\n .type(\"AWS\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRole = new Role(\"aWSCloudFormationStackSetExecutionRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions( \n \"cloudformation:*\",\n \"s3:*\",\n \"sns:*\")\n .effect(\"Allow\")\n .resources(\"*\")\n .build())\n .build());\n\n var aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .policy(aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(aWSCloudFormationStackSetExecutionRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetExecutionRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json}\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n policy: ${aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.json}\n role: ${aWSCloudFormationStackSetExecutionRole.name}\nvariables:\n aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - ${aws_iam_role.AWSCloudFormationStackSetAdministrationRole.arn}\n type: AWS\n aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - cloudformation:*\n - s3:*\n - sns:*\n effect: Allow\n resources:\n - '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example Deployment across Organizations account\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.cloudformation.StackSetInstance(\"example\", {\n deploymentTargets: {\n organizationalUnitIds: [aws_organizations_organization.example.roots[0].id],\n },\n region: \"us-east-1\",\n stackSetName: aws_cloudformation_stack_set.example.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cloudformation.StackSetInstance(\"example\",\n deployment_targets=aws.cloudformation.StackSetInstanceDeploymentTargetsArgs(\n organizational_unit_ids=[aws_organizations_organization[\"example\"][\"roots\"][0][\"id\"]],\n ),\n region=\"us-east-1\",\n stack_set_name=aws_cloudformation_stack_set[\"example\"][\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.CloudFormation.StackSetInstance(\"example\", new()\n {\n DeploymentTargets = new Aws.CloudFormation.Inputs.StackSetInstanceDeploymentTargetsArgs\n {\n OrganizationalUnitIds = new[]\n {\n aws_organizations_organization.Example.Roots[0].Id,\n },\n },\n Region = \"us-east-1\",\n StackSetName = aws_cloudformation_stack_set.Example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\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 := cloudformation.NewStackSetInstance(ctx, \"example\", \u0026cloudformation.StackSetInstanceArgs{\n\t\t\tDeploymentTargets: \u0026cloudformation.StackSetInstanceDeploymentTargetsArgs{\n\t\t\t\tOrganizationalUnitIds: pulumi.StringArray{\n\t\t\t\t\taws_organizations_organization.Example.Roots[0].Id,\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\tStackSetName: pulumi.Any(aws_cloudformation_stack_set.Example.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.cloudformation.StackSetInstance;\nimport com.pulumi.aws.cloudformation.StackSetInstanceArgs;\nimport com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;\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 StackSetInstance(\"example\", StackSetInstanceArgs.builder() \n .deploymentTargets(StackSetInstanceDeploymentTargetsArgs.builder()\n .organizationalUnitIds(aws_organizations_organization.example().roots()[0].id())\n .build())\n .region(\"us-east-1\")\n .stackSetName(aws_cloudformation_stack_set.example().name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cloudformation:StackSetInstance\n properties:\n deploymentTargets:\n organizationalUnitIds:\n - ${aws_organizations_organization.example.roots[0].id}\n region: us-east-1\n stackSetName: ${aws_cloudformation_stack_set.example.name}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\nImport CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\nUsing `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,123456789012,us-east-1\n```\n Using `TODO import`, import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1\n```\n Using `TODO import`, import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example:\n\n```sh\n $ pulumi import aws:cloudformation/stackSetInstance:StackSetInstance example example,ou-sdas-123123123/ou-sdas-789789789,us-east-1,DELEGATED_ADMIN\n```\n ", "properties": { "accountId": { "type": "string", @@ -156615,7 +156900,7 @@ } }, "aws:codepipeline/pipeline:Pipeline": { - "description": "Provides a CodePipeline.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {providerType: \"GitHub\"});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipelineBucket\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codepipeline.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst codepipelineRole = new aws.iam.Role(\"codepipelineRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketAcl = new aws.s3.BucketAclV2(\"codepipelineBucketAcl\", {\n bucket: codepipelineBucket.id,\n acl: \"private\",\n});\nconst codepipelinePolicyPolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources: [\n codepipelineBucket.arn,\n pulumi.interpolate`${codepipelineBucket.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"codestar-connections:UseConnection\"],\n resources: [example.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst codepipelinePolicyRolePolicy = new aws.iam.RolePolicy(\"codepipelinePolicyRolePolicy\", {\n role: codepipelineRole.id,\n policy: codepipelinePolicyPolicyDocument.apply(codepipelinePolicyPolicyDocument =\u003e codepipelinePolicyPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\", provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipelineBucket\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codepipeline.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncodepipeline_role = aws.iam.Role(\"codepipelineRole\", assume_role_policy=assume_role.json)\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=codepipeline_bucket.bucket,\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=s3kmskey.arn,\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"source_output\"],\n output_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Deploy\",\n category=\"Deploy\",\n owner=\"AWS\",\n provider=\"CloudFormation\",\n input_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n )],\n ),\n ])\ncodepipeline_bucket_acl = aws.s3.BucketAclV2(\"codepipelineBucketAcl\",\n bucket=codepipeline_bucket.id,\n acl=\"private\")\ncodepipeline_policy_policy_document = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources=[\n codepipeline_bucket.arn,\n codepipeline_bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"codestar-connections:UseConnection\"],\n resources=[example.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources=[\"*\"],\n ),\n])\ncodepipeline_policy_role_policy = aws.iam.RolePolicy(\"codepipelinePolicyRolePolicy\",\n role=codepipeline_role.id,\n policy=codepipeline_policy_policy_document.json)\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.CodeStarConnections.Connection(\"example\", new()\n {\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipelineBucket\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codepipeline.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipelineRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketAcl = new Aws.S3.BucketAclV2(\"codepipelineBucketAcl\", new()\n {\n Bucket = codepipelineBucket.Id,\n Acl = \"private\",\n });\n\n var codepipelinePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n codepipelineBucket.Arn,\n $\"{codepipelineBucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codestar-connections:UseConnection\",\n },\n Resources = new[]\n {\n example.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy(\"codepipelinePolicyRolePolicy\", new()\n {\n Role = codepipelineRole.Id,\n Policy = codepipelinePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipelineBucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codepipeline.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipelineRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: *pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\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},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"codepipelineBucketAcl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelinePolicyPolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersion\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketVersioning\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tcodepipelineBucket.Arn,\n\t\t\t\t\t\tcodepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codestar-connections:UseConnection\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codebuild:BatchGetBuilds\"),\n\t\t\t\t\t\tpulumi.String(\"codebuild:StartBuild\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipelinePolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: codepipelinePolicyPolicyDocument.ApplyT(func(codepipelinePolicyPolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026codepipelinePolicyPolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 Connection(\"example\", ConnectionArgs.builder() \n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codepipeline.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder() \n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketAcl = new BucketAclV2(\"codepipelineBucketAcl\", BucketAclV2Args.builder() \n .bucket(codepipelineBucket.id())\n .acl(\"private\")\n .build());\n\n final var codepipelinePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\")\n .resources( \n codepipelineBucket.arn(),\n codepipelineBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"codestar-connections:UseConnection\")\n .resources(example.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\")\n .resources(\"*\")\n .build())\n .build());\n\n var codepipelinePolicyRolePolicy = new RolePolicy(\"codepipelinePolicyRolePolicy\", RolePolicyArgs.builder() \n .role(codepipelineRole.id())\n .policy(codepipelinePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(codepipelinePolicyPolicyDocument -\u003e codepipelinePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: '1'\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: '1'\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n codepipelineBucketAcl:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${codepipelineBucket.id}\n acl: private\n codepipelineRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n codepipelinePolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${codepipelineRole.id}\n policy: ${codepipelinePolicyPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codepipeline.amazonaws.com\n actions:\n - sts:AssumeRole\n codepipelinePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetObject\n - s3:GetObjectVersion\n - s3:GetBucketVersioning\n - s3:PutObjectAcl\n - s3:PutObject\n resources:\n - ${codepipelineBucket.arn}\n - ${codepipelineBucket.arn}/*\n - effect: Allow\n actions:\n - codestar-connections:UseConnection\n resources:\n - ${example.arn}\n - effect: Allow\n actions:\n - codebuild:BatchGetBuilds\n - codebuild:StartBuild\n resources:\n - '*'\n s3kmskey:\n fn::invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/myKmsKey\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodePipelines using the name. For example:\n\n```sh\n $ pulumi import aws:codepipeline/pipeline:Pipeline foo example\n```\n ", + "description": "Provides a CodePipeline.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Connection(\"example\", {providerType: \"GitHub\"});\nconst codepipelineBucket = new aws.s3.BucketV2(\"codepipelineBucket\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"codepipeline.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst codepipelineRole = new aws.iam.Role(\"codepipelineRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst s3kmskey = aws.kms.getAlias({\n name: \"alias/myKmsKey\",\n});\nconst codepipeline = new aws.codepipeline.Pipeline(\"codepipeline\", {\n roleArn: codepipelineRole.arn,\n artifactStores: [{\n location: codepipelineBucket.bucket,\n type: \"S3\",\n encryptionKey: {\n id: s3kmskey.then(s3kmskey =\u003e s3kmskey.arn),\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: example.arn,\n FullRepositoryId: \"my-organization/example\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"source_output\"],\n outputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n {\n name: \"Deploy\",\n actions: [{\n name: \"Deploy\",\n category: \"Deploy\",\n owner: \"AWS\",\n provider: \"CloudFormation\",\n inputArtifacts: [\"build_output\"],\n version: \"1\",\n configuration: {\n ActionMode: \"REPLACE_ON_FAILURE\",\n Capabilities: \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n OutputFileName: \"CreateStackOutput.json\",\n StackName: \"MyStack\",\n TemplatePath: \"build_output::sam-templated.yaml\",\n },\n }],\n },\n ],\n});\nconst codepipelineBucketAcl = new aws.s3.BucketAclV2(\"codepipelineBucketAcl\", {\n bucket: codepipelineBucket.id,\n acl: \"private\",\n});\nconst codepipelinePolicyPolicyDocument = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources: [\n codepipelineBucket.arn,\n pulumi.interpolate`${codepipelineBucket.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\"codestar-connections:UseConnection\"],\n resources: [example.arn],\n },\n {\n effect: \"Allow\",\n actions: [\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst codepipelinePolicyRolePolicy = new aws.iam.RolePolicy(\"codepipelinePolicyRolePolicy\", {\n role: codepipelineRole.id,\n policy: codepipelinePolicyPolicyDocument.apply(codepipelinePolicyPolicyDocument =\u003e codepipelinePolicyPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Connection(\"example\", provider_type=\"GitHub\")\ncodepipeline_bucket = aws.s3.BucketV2(\"codepipelineBucket\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codepipeline.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ncodepipeline_role = aws.iam.Role(\"codepipelineRole\", assume_role_policy=assume_role.json)\ns3kmskey = aws.kms.get_alias(name=\"alias/myKmsKey\")\ncodepipeline = aws.codepipeline.Pipeline(\"codepipeline\",\n role_arn=codepipeline_role.arn,\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=codepipeline_bucket.bucket,\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=s3kmskey.arn,\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example.arn,\n \"FullRepositoryId\": \"my-organization/example\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"source_output\"],\n output_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Deploy\",\n category=\"Deploy\",\n owner=\"AWS\",\n provider=\"CloudFormation\",\n input_artifacts=[\"build_output\"],\n version=\"1\",\n configuration={\n \"ActionMode\": \"REPLACE_ON_FAILURE\",\n \"Capabilities\": \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\",\n \"OutputFileName\": \"CreateStackOutput.json\",\n \"StackName\": \"MyStack\",\n \"TemplatePath\": \"build_output::sam-templated.yaml\",\n },\n )],\n ),\n ])\ncodepipeline_bucket_acl = aws.s3.BucketAclV2(\"codepipelineBucketAcl\",\n bucket=codepipeline_bucket.id,\n acl=\"private\")\ncodepipeline_policy_policy_document = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n ],\n resources=[\n codepipeline_bucket.arn,\n codepipeline_bucket.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"codestar-connections:UseConnection\"],\n resources=[example.arn],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n ],\n resources=[\"*\"],\n ),\n])\ncodepipeline_policy_role_policy = aws.iam.RolePolicy(\"codepipelinePolicyRolePolicy\",\n role=codepipeline_role.id,\n policy=codepipeline_policy_policy_document.json)\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.CodeStarConnections.Connection(\"example\", new()\n {\n ProviderType = \"GitHub\",\n });\n\n var codepipelineBucket = new Aws.S3.BucketV2(\"codepipelineBucket\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codepipeline.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var codepipelineRole = new Aws.Iam.Role(\"codepipelineRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var s3kmskey = Aws.Kms.GetAlias.Invoke(new()\n {\n Name = \"alias/myKmsKey\",\n });\n\n var codepipeline = new Aws.CodePipeline.Pipeline(\"codepipeline\", new()\n {\n RoleArn = codepipelineRole.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = codepipelineBucket.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = s3kmskey.Apply(getAliasResult =\u003e getAliasResult.Arn),\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", example.Arn },\n { \"FullRepositoryId\", \"my-organization/example\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"source_output\",\n },\n OutputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Deploy\",\n Category = \"Deploy\",\n Owner = \"AWS\",\n Provider = \"CloudFormation\",\n InputArtifacts = new[]\n {\n \"build_output\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ActionMode\", \"REPLACE_ON_FAILURE\" },\n { \"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\" },\n { \"OutputFileName\", \"CreateStackOutput.json\" },\n { \"StackName\", \"MyStack\" },\n { \"TemplatePath\", \"build_output::sam-templated.yaml\" },\n },\n },\n },\n },\n },\n });\n\n var codepipelineBucketAcl = new Aws.S3.BucketAclV2(\"codepipelineBucketAcl\", new()\n {\n Bucket = codepipelineBucket.Id,\n Acl = \"private\",\n });\n\n var codepipelinePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\",\n },\n Resources = new[]\n {\n codepipelineBucket.Arn,\n $\"{codepipelineBucket.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codestar-connections:UseConnection\",\n },\n Resources = new[]\n {\n example.Arn,\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy(\"codepipelinePolicyRolePolicy\", new()\n {\n Role = codepipelineRole.Id,\n Policy = codepipelinePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\texample, err := codestarconnections.NewConnection(ctx, \"example\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tProviderType: pulumi.String(\"GitHub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineBucket, err := s3.NewBucketV2(ctx, \"codepipelineBucket\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"codepipeline.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelineRole, err := iam.NewRole(ctx, \"codepipelineRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ts3kmskey, err := kms.LookupAlias(ctx, \u0026kms.LookupAliasArgs{\n\t\t\tName: \"alias/myKmsKey\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"codepipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: codepipelineRole.Arn,\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: codepipelineBucket.Bucket,\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: *pulumi.String(s3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": example.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/example\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Deploy\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CloudFormation\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"build_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ActionMode\": pulumi.String(\"REPLACE_ON_FAILURE\"),\n\t\t\t\t\t\t\t\t\"Capabilities\": pulumi.String(\"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n\t\t\t\t\t\t\t\t\"OutputFileName\": pulumi.String(\"CreateStackOutput.json\"),\n\t\t\t\t\t\t\t\t\"StackName\": pulumi.String(\"MyStack\"),\n\t\t\t\t\t\t\t\t\"TemplatePath\": pulumi.String(\"build_output::sam-templated.yaml\"),\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},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"codepipelineBucketAcl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: codepipelineBucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcodepipelinePolicyPolicyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:GetObject\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetObjectVersion\"),\n\t\t\t\t\t\tpulumi.String(\"s3:GetBucketVersioning\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObjectAcl\"),\n\t\t\t\t\t\tpulumi.String(\"s3:PutObject\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tcodepipelineBucket.Arn,\n\t\t\t\t\t\tcodepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codestar-connections:UseConnection\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"codebuild:BatchGetBuilds\"),\n\t\t\t\t\t\tpulumi.String(\"codebuild:StartBuild\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"codepipelinePolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: codepipelineRole.ID(),\n\t\t\tPolicy: codepipelinePolicyPolicyDocument.ApplyT(func(codepipelinePolicyPolicyDocument iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026codepipelinePolicyPolicyDocument.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetAliasArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 Connection(\"example\", ConnectionArgs.builder() \n .providerType(\"GitHub\")\n .build());\n\n var codepipelineBucket = new BucketV2(\"codepipelineBucket\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codepipeline.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var codepipelineRole = new Role(\"codepipelineRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()\n .name(\"alias/myKmsKey\")\n .build());\n\n var codepipeline = new Pipeline(\"codepipeline\", PipelineArgs.builder() \n .roleArn(codepipelineRole.arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(codepipelineBucket.bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(s3kmskey.applyValue(getAliasResult -\u003e getAliasResult.arn()))\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", example.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/example\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"source_output\")\n .outputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Deploy\")\n .category(\"Deploy\")\n .owner(\"AWS\")\n .provider(\"CloudFormation\")\n .inputArtifacts(\"build_output\")\n .version(\"1\")\n .configuration(Map.ofEntries(\n Map.entry(\"ActionMode\", \"REPLACE_ON_FAILURE\"),\n Map.entry(\"Capabilities\", \"CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\"),\n Map.entry(\"OutputFileName\", \"CreateStackOutput.json\"),\n Map.entry(\"StackName\", \"MyStack\"),\n Map.entry(\"TemplatePath\", \"build_output::sam-templated.yaml\")\n ))\n .build())\n .build())\n .build());\n\n var codepipelineBucketAcl = new BucketAclV2(\"codepipelineBucketAcl\", BucketAclV2Args.builder() \n .bucket(codepipelineBucket.id())\n .acl(\"private\")\n .build());\n\n final var codepipelinePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"s3:GetObject\",\n \"s3:GetObjectVersion\",\n \"s3:GetBucketVersioning\",\n \"s3:PutObjectAcl\",\n \"s3:PutObject\")\n .resources( \n codepipelineBucket.arn(),\n codepipelineBucket.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"codestar-connections:UseConnection\")\n .resources(example.arn())\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"codebuild:BatchGetBuilds\",\n \"codebuild:StartBuild\")\n .resources(\"*\")\n .build())\n .build());\n\n var codepipelinePolicyRolePolicy = new RolePolicy(\"codepipelinePolicyRolePolicy\", RolePolicyArgs.builder() \n .role(codepipelineRole.id())\n .policy(codepipelinePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(codepipelinePolicyPolicyDocument -\u003e codepipelinePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n codepipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${codepipelineRole.arn}\n artifactStores:\n - location: ${codepipelineBucket.bucket}\n type: S3\n encryptionKey:\n id: ${s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${example.arn}\n FullRepositoryId: my-organization/example\n BranchName: main\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - source_output\n outputArtifacts:\n - build_output\n version: '1'\n configuration:\n ProjectName: test\n - name: Deploy\n actions:\n - name: Deploy\n category: Deploy\n owner: AWS\n provider: CloudFormation\n inputArtifacts:\n - build_output\n version: '1'\n configuration:\n ActionMode: REPLACE_ON_FAILURE\n Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM\n OutputFileName: CreateStackOutput.json\n StackName: MyStack\n TemplatePath: build_output::sam-templated.yaml\n example:\n type: aws:codestarconnections:Connection\n properties:\n providerType: GitHub\n codepipelineBucket:\n type: aws:s3:BucketV2\n codepipelineBucketAcl:\n type: aws:s3:BucketAclV2\n properties:\n bucket: ${codepipelineBucket.id}\n acl: private\n codepipelineRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n codepipelinePolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${codepipelineRole.id}\n policy: ${codepipelinePolicyPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - codepipeline.amazonaws.com\n actions:\n - sts:AssumeRole\n codepipelinePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - s3:GetObject\n - s3:GetObjectVersion\n - s3:GetBucketVersioning\n - s3:PutObjectAcl\n - s3:PutObject\n resources:\n - ${codepipelineBucket.arn}\n - ${codepipelineBucket.arn}/*\n - effect: Allow\n actions:\n - codestar-connections:UseConnection\n resources:\n - ${example.arn}\n - effect: Allow\n actions:\n - codebuild:BatchGetBuilds\n - codebuild:StartBuild\n resources:\n - '*'\n s3kmskey:\n fn::invoke:\n Function: aws:kms:getAlias\n Arguments:\n name: alias/myKmsKey\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import {\n\n to = aws_codepipeline.foo\n\n id = \"example\" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example ", "properties": { "arn": { "type": "string", @@ -156648,7 +156933,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" + "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", @@ -156695,7 +156980,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" + "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": [ @@ -156738,7 +157023,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" + "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", @@ -156752,7 +157037,7 @@ } }, "aws:codepipeline/webhook:Webhook": { - "description": "Provides a CodePipeline Webhook.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as github from \"@pulumi/github\";\n\nconst barPipeline = new aws.codepipeline.Pipeline(\"barPipeline\", {\n roleArn: aws_iam_role.bar.arn,\n artifactStores: [{\n location: aws_s3_bucket.bar.bucket,\n type: \"S3\",\n encryptionKey: {\n id: data.aws_kms_alias.s3kmskey.arn,\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"ThirdParty\",\n provider: \"GitHub\",\n version: \"1\",\n outputArtifacts: [\"test\"],\n configuration: {\n Owner: \"my-organization\",\n Repo: \"test\",\n Branch: \"master\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"test\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n ],\n});\nconst webhookSecret = \"super-secret\";\nconst barWebhook = new aws.codepipeline.Webhook(\"barWebhook\", {\n authentication: \"GITHUB_HMAC\",\n targetAction: \"Source\",\n targetPipeline: barPipeline.name,\n authenticationConfiguration: {\n secretToken: webhookSecret,\n },\n filters: [{\n jsonPath: \"$.ref\",\n matchEquals: \"refs/heads/{Branch}\",\n }],\n});\n// Wire the CodePipeline webhook into a GitHub repository.\nconst barRepositoryWebhook = new github.RepositoryWebhook(\"barRepositoryWebhook\", {\n repository: github_repository.repo.name,\n configuration: {\n url: barWebhook.url,\n contentType: \"json\",\n insecureSsl: true,\n secret: webhookSecret,\n },\n events: [\"push\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_github as github\n\nbar_pipeline = aws.codepipeline.Pipeline(\"barPipeline\",\n role_arn=aws_iam_role[\"bar\"][\"arn\"],\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=aws_s3_bucket[\"bar\"][\"bucket\"],\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=data[\"aws_kms_alias\"][\"s3kmskey\"][\"arn\"],\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"ThirdParty\",\n provider=\"GitHub\",\n version=\"1\",\n output_artifacts=[\"test\"],\n configuration={\n \"Owner\": \"my-organization\",\n \"Repo\": \"test\",\n \"Branch\": \"master\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"test\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n ])\nwebhook_secret = \"super-secret\"\nbar_webhook = aws.codepipeline.Webhook(\"barWebhook\",\n authentication=\"GITHUB_HMAC\",\n target_action=\"Source\",\n target_pipeline=bar_pipeline.name,\n authentication_configuration=aws.codepipeline.WebhookAuthenticationConfigurationArgs(\n secret_token=webhook_secret,\n ),\n filters=[aws.codepipeline.WebhookFilterArgs(\n json_path=\"$.ref\",\n match_equals=\"refs/heads/{Branch}\",\n )])\n# Wire the CodePipeline webhook into a GitHub repository.\nbar_repository_webhook = github.RepositoryWebhook(\"barRepositoryWebhook\",\n repository=github_repository[\"repo\"][\"name\"],\n configuration=github.RepositoryWebhookConfigurationArgs(\n url=bar_webhook.url,\n content_type=\"json\",\n insecure_ssl=True,\n secret=webhook_secret,\n ),\n events=[\"push\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Github = Pulumi.Github;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var barPipeline = new Aws.CodePipeline.Pipeline(\"barPipeline\", new()\n {\n RoleArn = aws_iam_role.Bar.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = aws_s3_bucket.Bar.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = data.Aws_kms_alias.S3kmskey.Arn,\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"ThirdParty\",\n Provider = \"GitHub\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"test\",\n },\n Configuration = \n {\n { \"Owner\", \"my-organization\" },\n { \"Repo\", \"test\" },\n { \"Branch\", \"master\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"test\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n },\n });\n\n var webhookSecret = \"super-secret\";\n\n var barWebhook = new Aws.CodePipeline.Webhook(\"barWebhook\", new()\n {\n Authentication = \"GITHUB_HMAC\",\n TargetAction = \"Source\",\n TargetPipeline = barPipeline.Name,\n AuthenticationConfiguration = new Aws.CodePipeline.Inputs.WebhookAuthenticationConfigurationArgs\n {\n SecretToken = webhookSecret,\n },\n Filters = new[]\n {\n new Aws.CodePipeline.Inputs.WebhookFilterArgs\n {\n JsonPath = \"$.ref\",\n MatchEquals = \"refs/heads/{Branch}\",\n },\n },\n });\n\n // Wire the CodePipeline webhook into a GitHub repository.\n var barRepositoryWebhook = new Github.RepositoryWebhook(\"barRepositoryWebhook\", new()\n {\n Repository = github_repository.Repo.Name,\n Configuration = new Github.Inputs.RepositoryWebhookConfigurationArgs\n {\n Url = barWebhook.Url,\n ContentType = \"json\",\n InsecureSsl = true,\n Secret = webhookSecret,\n },\n Events = new[]\n {\n \"push\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-github/sdk/v5/go/github\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbarPipeline, err := codepipeline.NewPipeline(ctx, \"barPipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Bar.Arn),\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: pulumi.Any(aws_s3_bucket.Bar.Bucket),\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.Any(data.Aws_kms_alias.S3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"ThirdParty\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"GitHub\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Owner\": pulumi.String(\"my-organization\"),\n\t\t\t\t\t\t\t\t\"Repo\": pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t\"Branch\": pulumi.String(\"master\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\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},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twebhookSecret := \"super-secret\"\n\t\tbarWebhook, err := codepipeline.NewWebhook(ctx, \"barWebhook\", \u0026codepipeline.WebhookArgs{\n\t\t\tAuthentication: pulumi.String(\"GITHUB_HMAC\"),\n\t\t\tTargetAction: pulumi.String(\"Source\"),\n\t\t\tTargetPipeline: barPipeline.Name,\n\t\t\tAuthenticationConfiguration: \u0026codepipeline.WebhookAuthenticationConfigurationArgs{\n\t\t\t\tSecretToken: pulumi.String(webhookSecret),\n\t\t\t},\n\t\t\tFilters: codepipeline.WebhookFilterArray{\n\t\t\t\t\u0026codepipeline.WebhookFilterArgs{\n\t\t\t\t\tJsonPath: pulumi.String(\"$.ref\"),\n\t\t\t\t\tMatchEquals: pulumi.String(\"refs/heads/{Branch}\"),\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\t_, err = github.NewRepositoryWebhook(ctx, \"barRepositoryWebhook\", \u0026github.RepositoryWebhookArgs{\n\t\t\tRepository: pulumi.Any(github_repository.Repo.Name),\n\t\t\tConfiguration: \u0026github.RepositoryWebhookConfigurationArgs{\n\t\t\t\tUrl: barWebhook.Url,\n\t\t\t\tContentType: pulumi.String(\"json\"),\n\t\t\t\tInsecureSsl: pulumi.Bool(true),\n\t\t\t\tSecret: pulumi.String(webhookSecret),\n\t\t\t},\n\t\t\tEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"push\"),\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.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.codepipeline.Webhook;\nimport com.pulumi.aws.codepipeline.WebhookArgs;\nimport com.pulumi.aws.codepipeline.inputs.WebhookAuthenticationConfigurationArgs;\nimport com.pulumi.aws.codepipeline.inputs.WebhookFilterArgs;\nimport com.pulumi.github.RepositoryWebhook;\nimport com.pulumi.github.RepositoryWebhookArgs;\nimport com.pulumi.github.inputs.RepositoryWebhookConfigurationArgs;\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 barPipeline = new Pipeline(\"barPipeline\", PipelineArgs.builder() \n .roleArn(aws_iam_role.bar().arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(aws_s3_bucket.bar().bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(data.aws_kms_alias().s3kmskey().arn())\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"ThirdParty\")\n .provider(\"GitHub\")\n .version(\"1\")\n .outputArtifacts(\"test\")\n .configuration(Map.ofEntries(\n Map.entry(\"Owner\", \"my-organization\"),\n Map.entry(\"Repo\", \"test\"),\n Map.entry(\"Branch\", \"master\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"test\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build())\n .build());\n\n final var webhookSecret = \"super-secret\";\n\n var barWebhook = new Webhook(\"barWebhook\", WebhookArgs.builder() \n .authentication(\"GITHUB_HMAC\")\n .targetAction(\"Source\")\n .targetPipeline(barPipeline.name())\n .authenticationConfiguration(WebhookAuthenticationConfigurationArgs.builder()\n .secretToken(webhookSecret)\n .build())\n .filters(WebhookFilterArgs.builder()\n .jsonPath(\"$.ref\")\n .matchEquals(\"refs/heads/{Branch}\")\n .build())\n .build());\n\n var barRepositoryWebhook = new RepositoryWebhook(\"barRepositoryWebhook\", RepositoryWebhookArgs.builder() \n .repository(github_repository.repo().name())\n .configuration(RepositoryWebhookConfigurationArgs.builder()\n .url(barWebhook.url())\n .contentType(\"json\")\n .insecureSsl(true)\n .secret(webhookSecret)\n .build())\n .events(\"push\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n barPipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${aws_iam_role.bar.arn}\n artifactStores:\n - location: ${aws_s3_bucket.bar.bucket}\n type: S3\n encryptionKey:\n id: ${data.aws_kms_alias.s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: ThirdParty\n provider: GitHub\n version: '1'\n outputArtifacts:\n - test\n configuration:\n Owner: my-organization\n Repo: test\n Branch: master\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - test\n version: '1'\n configuration:\n ProjectName: test\n barWebhook:\n type: aws:codepipeline:Webhook\n properties:\n authentication: GITHUB_HMAC\n targetAction: Source\n targetPipeline: ${barPipeline.name}\n authenticationConfiguration:\n secretToken: ${webhookSecret}\n filters:\n - jsonPath: $.ref\n matchEquals: refs/heads/{Branch}\n # Wire the CodePipeline webhook into a GitHub repository.\n barRepositoryWebhook:\n type: github:RepositoryWebhook\n properties:\n repository: ${github_repository.repo.name}\n configuration:\n url: ${barWebhook.url}\n contentType: json\n insecureSsl: true\n secret: ${webhookSecret}\n events:\n - push\nvariables:\n webhookSecret: super-secret\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodePipeline Webhooks using their ARN. For example:\n\n```sh\n $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example\n```\n ", + "description": "Provides a CodePipeline Webhook.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as github from \"@pulumi/github\";\n\nconst barPipeline = new aws.codepipeline.Pipeline(\"barPipeline\", {\n roleArn: aws_iam_role.bar.arn,\n artifactStores: [{\n location: aws_s3_bucket.bar.bucket,\n type: \"S3\",\n encryptionKey: {\n id: data.aws_kms_alias.s3kmskey.arn,\n type: \"KMS\",\n },\n }],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"ThirdParty\",\n provider: \"GitHub\",\n version: \"1\",\n outputArtifacts: [\"test\"],\n configuration: {\n Owner: \"my-organization\",\n Repo: \"test\",\n Branch: \"master\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{\n name: \"Build\",\n category: \"Build\",\n owner: \"AWS\",\n provider: \"CodeBuild\",\n inputArtifacts: [\"test\"],\n version: \"1\",\n configuration: {\n ProjectName: \"test\",\n },\n }],\n },\n ],\n});\nconst webhookSecret = \"super-secret\";\nconst barWebhook = new aws.codepipeline.Webhook(\"barWebhook\", {\n authentication: \"GITHUB_HMAC\",\n targetAction: \"Source\",\n targetPipeline: barPipeline.name,\n authenticationConfiguration: {\n secretToken: webhookSecret,\n },\n filters: [{\n jsonPath: \"$.ref\",\n matchEquals: \"refs/heads/{Branch}\",\n }],\n});\n// Wire the CodePipeline webhook into a GitHub repository.\nconst barRepositoryWebhook = new github.RepositoryWebhook(\"barRepositoryWebhook\", {\n repository: github_repository.repo.name,\n configuration: {\n url: barWebhook.url,\n contentType: \"json\",\n insecureSsl: true,\n secret: webhookSecret,\n },\n events: [\"push\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_github as github\n\nbar_pipeline = aws.codepipeline.Pipeline(\"barPipeline\",\n role_arn=aws_iam_role[\"bar\"][\"arn\"],\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs(\n location=aws_s3_bucket[\"bar\"][\"bucket\"],\n type=\"S3\",\n encryption_key=aws.codepipeline.PipelineArtifactStoreEncryptionKeyArgs(\n id=data[\"aws_kms_alias\"][\"s3kmskey\"][\"arn\"],\n type=\"KMS\",\n ),\n )],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"ThirdParty\",\n provider=\"GitHub\",\n version=\"1\",\n output_artifacts=[\"test\"],\n configuration={\n \"Owner\": \"my-organization\",\n \"Repo\": \"test\",\n \"Branch\": \"master\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Build\",\n category=\"Build\",\n owner=\"AWS\",\n provider=\"CodeBuild\",\n input_artifacts=[\"test\"],\n version=\"1\",\n configuration={\n \"ProjectName\": \"test\",\n },\n )],\n ),\n ])\nwebhook_secret = \"super-secret\"\nbar_webhook = aws.codepipeline.Webhook(\"barWebhook\",\n authentication=\"GITHUB_HMAC\",\n target_action=\"Source\",\n target_pipeline=bar_pipeline.name,\n authentication_configuration=aws.codepipeline.WebhookAuthenticationConfigurationArgs(\n secret_token=webhook_secret,\n ),\n filters=[aws.codepipeline.WebhookFilterArgs(\n json_path=\"$.ref\",\n match_equals=\"refs/heads/{Branch}\",\n )])\n# Wire the CodePipeline webhook into a GitHub repository.\nbar_repository_webhook = github.RepositoryWebhook(\"barRepositoryWebhook\",\n repository=github_repository[\"repo\"][\"name\"],\n configuration=github.RepositoryWebhookConfigurationArgs(\n url=bar_webhook.url,\n content_type=\"json\",\n insecure_ssl=True,\n secret=webhook_secret,\n ),\n events=[\"push\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Github = Pulumi.Github;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var barPipeline = new Aws.CodePipeline.Pipeline(\"barPipeline\", new()\n {\n RoleArn = aws_iam_role.Bar.Arn,\n ArtifactStores = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs\n {\n Location = aws_s3_bucket.Bar.Bucket,\n Type = \"S3\",\n EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs\n {\n Id = data.Aws_kms_alias.S3kmskey.Arn,\n Type = \"KMS\",\n },\n },\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"ThirdParty\",\n Provider = \"GitHub\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"test\",\n },\n Configuration = \n {\n { \"Owner\", \"my-organization\" },\n { \"Repo\", \"test\" },\n { \"Branch\", \"master\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Build\",\n Category = \"Build\",\n Owner = \"AWS\",\n Provider = \"CodeBuild\",\n InputArtifacts = new[]\n {\n \"test\",\n },\n Version = \"1\",\n Configuration = \n {\n { \"ProjectName\", \"test\" },\n },\n },\n },\n },\n },\n });\n\n var webhookSecret = \"super-secret\";\n\n var barWebhook = new Aws.CodePipeline.Webhook(\"barWebhook\", new()\n {\n Authentication = \"GITHUB_HMAC\",\n TargetAction = \"Source\",\n TargetPipeline = barPipeline.Name,\n AuthenticationConfiguration = new Aws.CodePipeline.Inputs.WebhookAuthenticationConfigurationArgs\n {\n SecretToken = webhookSecret,\n },\n Filters = new[]\n {\n new Aws.CodePipeline.Inputs.WebhookFilterArgs\n {\n JsonPath = \"$.ref\",\n MatchEquals = \"refs/heads/{Branch}\",\n },\n },\n });\n\n // Wire the CodePipeline webhook into a GitHub repository.\n var barRepositoryWebhook = new Github.RepositoryWebhook(\"barRepositoryWebhook\", new()\n {\n Repository = github_repository.Repo.Name,\n Configuration = new Github.Inputs.RepositoryWebhookConfigurationArgs\n {\n Url = barWebhook.Url,\n ContentType = \"json\",\n InsecureSsl = true,\n Secret = webhookSecret,\n },\n Events = new[]\n {\n \"push\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-github/sdk/v5/go/github\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbarPipeline, err := codepipeline.NewPipeline(ctx, \"barPipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Bar.Arn),\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\t\u0026codepipeline.PipelineArtifactStoreArgs{\n\t\t\t\t\tLocation: pulumi.Any(aws_s3_bucket.Bar.Bucket),\n\t\t\t\t\tType: pulumi.String(\"S3\"),\n\t\t\t\t\tEncryptionKey: \u0026codepipeline.PipelineArtifactStoreEncryptionKeyArgs{\n\t\t\t\t\t\tId: pulumi.Any(data.Aws_kms_alias.S3kmskey.Arn),\n\t\t\t\t\t\tType: pulumi.String(\"KMS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"ThirdParty\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"GitHub\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"Owner\": pulumi.String(\"my-organization\"),\n\t\t\t\t\t\t\t\t\"Repo\": pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t\"Branch\": pulumi.String(\"master\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Build\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeBuild\"),\n\t\t\t\t\t\t\tInputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ProjectName\": pulumi.String(\"test\"),\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},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\twebhookSecret := \"super-secret\"\n\t\tbarWebhook, err := codepipeline.NewWebhook(ctx, \"barWebhook\", \u0026codepipeline.WebhookArgs{\n\t\t\tAuthentication: pulumi.String(\"GITHUB_HMAC\"),\n\t\t\tTargetAction: pulumi.String(\"Source\"),\n\t\t\tTargetPipeline: barPipeline.Name,\n\t\t\tAuthenticationConfiguration: \u0026codepipeline.WebhookAuthenticationConfigurationArgs{\n\t\t\t\tSecretToken: pulumi.String(webhookSecret),\n\t\t\t},\n\t\t\tFilters: codepipeline.WebhookFilterArray{\n\t\t\t\t\u0026codepipeline.WebhookFilterArgs{\n\t\t\t\t\tJsonPath: pulumi.String(\"$.ref\"),\n\t\t\t\t\tMatchEquals: pulumi.String(\"refs/heads/{Branch}\"),\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\t_, err = github.NewRepositoryWebhook(ctx, \"barRepositoryWebhook\", \u0026github.RepositoryWebhookArgs{\n\t\t\tRepository: pulumi.Any(github_repository.Repo.Name),\n\t\t\tConfiguration: \u0026github.RepositoryWebhookConfigurationArgs{\n\t\t\t\tUrl: barWebhook.Url,\n\t\t\t\tContentType: pulumi.String(\"json\"),\n\t\t\t\tInsecureSsl: pulumi.Bool(true),\n\t\t\t\tSecret: pulumi.String(webhookSecret),\n\t\t\t},\n\t\t\tEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"push\"),\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.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\nimport com.pulumi.aws.codepipeline.Webhook;\nimport com.pulumi.aws.codepipeline.WebhookArgs;\nimport com.pulumi.aws.codepipeline.inputs.WebhookAuthenticationConfigurationArgs;\nimport com.pulumi.aws.codepipeline.inputs.WebhookFilterArgs;\nimport com.pulumi.github.RepositoryWebhook;\nimport com.pulumi.github.RepositoryWebhookArgs;\nimport com.pulumi.github.inputs.RepositoryWebhookConfigurationArgs;\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 barPipeline = new Pipeline(\"barPipeline\", PipelineArgs.builder() \n .roleArn(aws_iam_role.bar().arn())\n .artifactStores(PipelineArtifactStoreArgs.builder()\n .location(aws_s3_bucket.bar().bucket())\n .type(\"S3\")\n .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()\n .id(data.aws_kms_alias().s3kmskey().arn())\n .type(\"KMS\")\n .build())\n .build())\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"ThirdParty\")\n .provider(\"GitHub\")\n .version(\"1\")\n .outputArtifacts(\"test\")\n .configuration(Map.ofEntries(\n Map.entry(\"Owner\", \"my-organization\"),\n Map.entry(\"Repo\", \"test\"),\n Map.entry(\"Branch\", \"master\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Build\")\n .category(\"Build\")\n .owner(\"AWS\")\n .provider(\"CodeBuild\")\n .inputArtifacts(\"test\")\n .version(\"1\")\n .configuration(Map.of(\"ProjectName\", \"test\"))\n .build())\n .build())\n .build());\n\n final var webhookSecret = \"super-secret\";\n\n var barWebhook = new Webhook(\"barWebhook\", WebhookArgs.builder() \n .authentication(\"GITHUB_HMAC\")\n .targetAction(\"Source\")\n .targetPipeline(barPipeline.name())\n .authenticationConfiguration(WebhookAuthenticationConfigurationArgs.builder()\n .secretToken(webhookSecret)\n .build())\n .filters(WebhookFilterArgs.builder()\n .jsonPath(\"$.ref\")\n .matchEquals(\"refs/heads/{Branch}\")\n .build())\n .build());\n\n var barRepositoryWebhook = new RepositoryWebhook(\"barRepositoryWebhook\", RepositoryWebhookArgs.builder() \n .repository(github_repository.repo().name())\n .configuration(RepositoryWebhookConfigurationArgs.builder()\n .url(barWebhook.url())\n .contentType(\"json\")\n .insecureSsl(true)\n .secret(webhookSecret)\n .build())\n .events(\"push\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n barPipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${aws_iam_role.bar.arn}\n artifactStores:\n - location: ${aws_s3_bucket.bar.bucket}\n type: S3\n encryptionKey:\n id: ${data.aws_kms_alias.s3kmskey.arn}\n type: KMS\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: ThirdParty\n provider: GitHub\n version: '1'\n outputArtifacts:\n - test\n configuration:\n Owner: my-organization\n Repo: test\n Branch: master\n - name: Build\n actions:\n - name: Build\n category: Build\n owner: AWS\n provider: CodeBuild\n inputArtifacts:\n - test\n version: '1'\n configuration:\n ProjectName: test\n barWebhook:\n type: aws:codepipeline:Webhook\n properties:\n authentication: GITHUB_HMAC\n targetAction: Source\n targetPipeline: ${barPipeline.name}\n authenticationConfiguration:\n secretToken: ${webhookSecret}\n filters:\n - jsonPath: $.ref\n matchEquals: refs/heads/{Branch}\n # Wire the CodePipeline webhook into a GitHub repository.\n barRepositoryWebhook:\n type: github:RepositoryWebhook\n properties:\n repository: ${github_repository.repo.name}\n configuration:\n url: ${barWebhook.url}\n contentType: json\n insecureSsl: true\n secret: ${webhookSecret}\n events:\n - push\nvariables:\n webhookSecret: super-secret\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import {\n\n to = aws_codepipeline_webhook.example\n\n id = \"arn:aws:codepipeline:us-west-2:123456789012:webhook:example\" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example ", "properties": { "arn": { "type": "string", @@ -156782,7 +157067,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" + "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", @@ -156842,7 +157127,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" + "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" }, "targetAction": { "type": "string", @@ -156895,7 +157180,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" + "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", @@ -156923,7 +157208,7 @@ } }, "aws:codestarconnections/connection:Connection": { - "description": "Provides a CodeStar Connection.\n\n\u003e **NOTE:** The `aws.codestarconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleConnection = new aws.codestarconnections.Connection(\"exampleConnection\", {providerType: \"Bitbucket\"});\nconst examplePipeline = new aws.codepipeline.Pipeline(\"examplePipeline\", {\n roleArn: aws_iam_role.codepipeline_role.arn,\n artifactStores: [{}],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: exampleConnection.arn,\n FullRepositoryId: \"my-organization/test\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{}],\n },\n {\n name: \"Deploy\",\n actions: [{}],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_connection = aws.codestarconnections.Connection(\"exampleConnection\", provider_type=\"Bitbucket\")\nexample_pipeline = aws.codepipeline.Pipeline(\"examplePipeline\",\n role_arn=aws_iam_role[\"codepipeline_role\"][\"arn\"],\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs()],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example_connection.arn,\n \"FullRepositoryId\": \"my-organization/test\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs()],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs()],\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 exampleConnection = new Aws.CodeStarConnections.Connection(\"exampleConnection\", new()\n {\n ProviderType = \"Bitbucket\",\n });\n\n var examplePipeline = new Aws.CodePipeline.Pipeline(\"examplePipeline\", new()\n {\n RoleArn = aws_iam_role.Codepipeline_role.Arn,\n ArtifactStores = new[]\n {\n null,\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", exampleConnection.Arn },\n { \"FullRepositoryId\", \"my-organization/test\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n null,\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n null,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleConnection, err := codestarconnections.NewConnection(ctx, \"exampleConnection\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tProviderType: pulumi.String(\"Bitbucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"examplePipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Codepipeline_role.Arn),\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": exampleConnection.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/test\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\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.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\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 exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder() \n .providerType(\"Bitbucket\")\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder() \n .roleArn(aws_iam_role.codepipeline_role().arn())\n .artifactStores()\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", exampleConnection.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/test\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions()\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnection:\n type: aws:codestarconnections:Connection\n properties:\n providerType: Bitbucket\n examplePipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${aws_iam_role.codepipeline_role.arn}\n artifactStores:\n - {}\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${exampleConnection.arn}\n FullRepositoryId: my-organization/test\n BranchName: main\n - name: Build\n actions:\n - {}\n - name: Deploy\n actions:\n - {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodeStar connections using the ARN. For example:\n\n```sh\n $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n ", + "description": "Provides a CodeStar Connection.\n\n\u003e **NOTE:** The `aws.codestarconnections.Connection` resource is created in the state `PENDING`. Authentication with the connection provider must be completed in the AWS Console. See the [AWS documentation](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleConnection = new aws.codestarconnections.Connection(\"exampleConnection\", {providerType: \"Bitbucket\"});\nconst examplePipeline = new aws.codepipeline.Pipeline(\"examplePipeline\", {\n roleArn: aws_iam_role.codepipeline_role.arn,\n artifactStores: [{}],\n stages: [\n {\n name: \"Source\",\n actions: [{\n name: \"Source\",\n category: \"Source\",\n owner: \"AWS\",\n provider: \"CodeStarSourceConnection\",\n version: \"1\",\n outputArtifacts: [\"source_output\"],\n configuration: {\n ConnectionArn: exampleConnection.arn,\n FullRepositoryId: \"my-organization/test\",\n BranchName: \"main\",\n },\n }],\n },\n {\n name: \"Build\",\n actions: [{}],\n },\n {\n name: \"Deploy\",\n actions: [{}],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_connection = aws.codestarconnections.Connection(\"exampleConnection\", provider_type=\"Bitbucket\")\nexample_pipeline = aws.codepipeline.Pipeline(\"examplePipeline\",\n role_arn=aws_iam_role[\"codepipeline_role\"][\"arn\"],\n artifact_stores=[aws.codepipeline.PipelineArtifactStoreArgs()],\n stages=[\n aws.codepipeline.PipelineStageArgs(\n name=\"Source\",\n actions=[aws.codepipeline.PipelineStageActionArgs(\n name=\"Source\",\n category=\"Source\",\n owner=\"AWS\",\n provider=\"CodeStarSourceConnection\",\n version=\"1\",\n output_artifacts=[\"source_output\"],\n configuration={\n \"ConnectionArn\": example_connection.arn,\n \"FullRepositoryId\": \"my-organization/test\",\n \"BranchName\": \"main\",\n },\n )],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Build\",\n actions=[aws.codepipeline.PipelineStageActionArgs()],\n ),\n aws.codepipeline.PipelineStageArgs(\n name=\"Deploy\",\n actions=[aws.codepipeline.PipelineStageActionArgs()],\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 exampleConnection = new Aws.CodeStarConnections.Connection(\"exampleConnection\", new()\n {\n ProviderType = \"Bitbucket\",\n });\n\n var examplePipeline = new Aws.CodePipeline.Pipeline(\"examplePipeline\", new()\n {\n RoleArn = aws_iam_role.Codepipeline_role.Arn,\n ArtifactStores = new[]\n {\n null,\n },\n Stages = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Source\",\n Actions = new[]\n {\n new Aws.CodePipeline.Inputs.PipelineStageActionArgs\n {\n Name = \"Source\",\n Category = \"Source\",\n Owner = \"AWS\",\n Provider = \"CodeStarSourceConnection\",\n Version = \"1\",\n OutputArtifacts = new[]\n {\n \"source_output\",\n },\n Configuration = \n {\n { \"ConnectionArn\", exampleConnection.Arn },\n { \"FullRepositoryId\", \"my-organization/test\" },\n { \"BranchName\", \"main\" },\n },\n },\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Build\",\n Actions = new[]\n {\n null,\n },\n },\n new Aws.CodePipeline.Inputs.PipelineStageArgs\n {\n Name = \"Deploy\",\n Actions = new[]\n {\n null,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleConnection, err := codestarconnections.NewConnection(ctx, \"exampleConnection\", \u0026codestarconnections.ConnectionArgs{\n\t\t\tProviderType: pulumi.String(\"Bitbucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = codepipeline.NewPipeline(ctx, \"examplePipeline\", \u0026codepipeline.PipelineArgs{\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Codepipeline_role.Arn),\n\t\t\tArtifactStores: codepipeline.PipelineArtifactStoreArray{\n\t\t\t\tnil,\n\t\t\t},\n\t\t\tStages: codepipeline.PipelineStageArray{\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\t\u0026codepipeline.PipelineStageActionArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tCategory: pulumi.String(\"Source\"),\n\t\t\t\t\t\t\tOwner: pulumi.String(\"AWS\"),\n\t\t\t\t\t\t\tProvider: pulumi.String(\"CodeStarSourceConnection\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tOutputArtifacts: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"source_output\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"ConnectionArn\": exampleConnection.Arn,\n\t\t\t\t\t\t\t\t\"FullRepositoryId\": pulumi.String(\"my-organization/test\"),\n\t\t\t\t\t\t\t\t\"BranchName\": pulumi.String(\"main\"),\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\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Build\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026codepipeline.PipelineStageArgs{\n\t\t\t\t\tName: pulumi.String(\"Deploy\"),\n\t\t\t\t\tActions: codepipeline.PipelineStageActionArray{\n\t\t\t\t\t\tnil,\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.codestarconnections.Connection;\nimport com.pulumi.aws.codestarconnections.ConnectionArgs;\nimport com.pulumi.aws.codepipeline.Pipeline;\nimport com.pulumi.aws.codepipeline.PipelineArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;\nimport com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;\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 exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder() \n .providerType(\"Bitbucket\")\n .build());\n\n var examplePipeline = new Pipeline(\"examplePipeline\", PipelineArgs.builder() \n .roleArn(aws_iam_role.codepipeline_role().arn())\n .artifactStores()\n .stages( \n PipelineStageArgs.builder()\n .name(\"Source\")\n .actions(PipelineStageActionArgs.builder()\n .name(\"Source\")\n .category(\"Source\")\n .owner(\"AWS\")\n .provider(\"CodeStarSourceConnection\")\n .version(\"1\")\n .outputArtifacts(\"source_output\")\n .configuration(Map.ofEntries(\n Map.entry(\"ConnectionArn\", exampleConnection.arn()),\n Map.entry(\"FullRepositoryId\", \"my-organization/test\"),\n Map.entry(\"BranchName\", \"main\")\n ))\n .build())\n .build(),\n PipelineStageArgs.builder()\n .name(\"Build\")\n .actions()\n .build(),\n PipelineStageArgs.builder()\n .name(\"Deploy\")\n .actions()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleConnection:\n type: aws:codestarconnections:Connection\n properties:\n providerType: Bitbucket\n examplePipeline:\n type: aws:codepipeline:Pipeline\n properties:\n roleArn: ${aws_iam_role.codepipeline_role.arn}\n artifactStores:\n - {}\n stages:\n - name: Source\n actions:\n - name: Source\n category: Source\n owner: AWS\n provider: CodeStarSourceConnection\n version: '1'\n outputArtifacts:\n - source_output\n configuration:\n ConnectionArn: ${exampleConnection.arn}\n FullRepositoryId: my-organization/test\n BranchName: main\n - name: Build\n actions:\n - {}\n - name: Deploy\n actions:\n - {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import {\n\n to = aws_codestarconnections_connection.test-connection\n\n id = \"arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448\" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 ", "properties": { "arn": { "type": "string", @@ -157036,7 +157321,7 @@ } }, "aws:codestarconnections/host:Host": { - "description": "Provides a CodeStar Host.\n\n\u003e **NOTE:** The `aws.codestarconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Host(\"example\", {\n providerEndpoint: \"https://example.com\",\n providerType: \"GitHubEnterpriseServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Host(\"example\",\n provider_endpoint=\"https://example.com\",\n provider_type=\"GitHubEnterpriseServer\")\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.CodeStarConnections.Host(\"example\", new()\n {\n ProviderEndpoint = \"https://example.com\",\n ProviderType = \"GitHubEnterpriseServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\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 := codestarconnections.NewHost(ctx, \"example\", \u0026codestarconnections.HostArgs{\n\t\t\tProviderEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\tProviderType: pulumi.String(\"GitHubEnterpriseServer\"),\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.codestarconnections.Host;\nimport com.pulumi.aws.codestarconnections.HostArgs;\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 Host(\"example\", HostArgs.builder() \n .providerEndpoint(\"https://example.com\")\n .providerType(\"GitHubEnterpriseServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codestarconnections:Host\n properties:\n providerEndpoint: https://example.com\n providerType: GitHubEnterpriseServer\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodeStar Host using the ARN. For example:\n\n```sh\n $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448\n```\n ", + "description": "Provides a CodeStar Host.\n\n\u003e **NOTE:** The `aws.codestarconnections.Host` resource is created in the state `PENDING`. Authentication with the host provider must be completed in the AWS Console. For more information visit [Set up a pending host](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-setup.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.codestarconnections.Host(\"example\", {\n providerEndpoint: \"https://example.com\",\n providerType: \"GitHubEnterpriseServer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.codestarconnections.Host(\"example\",\n provider_endpoint=\"https://example.com\",\n provider_type=\"GitHubEnterpriseServer\")\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.CodeStarConnections.Host(\"example\", new()\n {\n ProviderEndpoint = \"https://example.com\",\n ProviderType = \"GitHubEnterpriseServer\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections\"\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 := codestarconnections.NewHost(ctx, \"example\", \u0026codestarconnections.HostArgs{\n\t\t\tProviderEndpoint: pulumi.String(\"https://example.com\"),\n\t\t\tProviderType: pulumi.String(\"GitHubEnterpriseServer\"),\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.codestarconnections.Host;\nimport com.pulumi.aws.codestarconnections.HostArgs;\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 Host(\"example\", HostArgs.builder() \n .providerEndpoint(\"https://example.com\")\n .providerType(\"GitHubEnterpriseServer\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:codestarconnections:Host\n properties:\n providerEndpoint: https://example.com\n providerType: GitHubEnterpriseServer\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import {\n\n to = aws_codestarconnections_host.example-host\n\n id = \"arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448\" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 ", "properties": { "arn": { "type": "string", @@ -157128,7 +157413,7 @@ } }, "aws:codestarnotifications/notificationRule:NotificationRule": { - "description": "Provides a CodeStar Notifications Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst code = new aws.codecommit.Repository(\"code\", {repositoryName: \"example-code-repo\"});\nconst notif = new aws.sns.Topic(\"notif\", {});\nconst notifAccess = notif.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sns:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"codestar-notifications.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: notif.arn,\n policy: notifAccess.apply(notifAccess =\u003e notifAccess.json),\n});\nconst commits = new aws.codestarnotifications.NotificationRule(\"commits\", {\n detailType: \"BASIC\",\n eventTypeIds: [\"codecommit-repository-comments-on-commits\"],\n resource: code.arn,\n targets: [{\n address: notif.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncode = aws.codecommit.Repository(\"code\", repository_name=\"example-code-repo\")\nnotif = aws.sns.Topic(\"notif\")\nnotif_access = notif.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sns:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codestar-notifications.amazonaws.com\"],\n )],\n resources=[arn],\n)]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=notif.arn,\n policy=notif_access.json)\ncommits = aws.codestarnotifications.NotificationRule(\"commits\",\n detail_type=\"BASIC\",\n event_type_ids=[\"codecommit-repository-comments-on-commits\"],\n resource=code.arn,\n targets=[aws.codestarnotifications.NotificationRuleTargetArgs(\n address=notif.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var code = new Aws.CodeCommit.Repository(\"code\", new()\n {\n RepositoryName = \"example-code-repo\",\n });\n\n var notif = new Aws.Sns.Topic(\"notif\");\n\n var notifAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codestar-notifications.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n notif.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = notif.Arn,\n Policy = notifAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var commits = new Aws.CodeStarNotifications.NotificationRule(\"commits\", new()\n {\n DetailType = \"BASIC\",\n EventTypeIds = new[]\n {\n \"codecommit-repository-comments-on-commits\",\n },\n Resource = code.Arn,\n Targets = new[]\n {\n new Aws.CodeStarNotifications.Inputs.NotificationRuleTargetArgs\n {\n Address = notif.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarnotifications\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncode, err := codecommit.NewRepository(ctx, \"code\", \u0026codecommit.RepositoryArgs{\nRepositoryName: pulumi.String(\"example-code-repo\"),\n})\nif err != nil {\nreturn err\n}\nnotif, err := sns.NewTopic(ctx, \"notif\", nil)\nif err != nil {\nreturn err\n}\nnotifAccess := notif.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sns:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codestar-notifications.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: notif.Arn,\nPolicy: notifAccess.ApplyT(func(notifAccess iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026notifAccess.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codestarnotifications.NewNotificationRule(ctx, \"commits\", \u0026codestarnotifications.NotificationRuleArgs{\nDetailType: pulumi.String(\"BASIC\"),\nEventTypeIds: pulumi.StringArray{\npulumi.String(\"codecommit-repository-comments-on-commits\"),\n},\nResource: code.Arn,\nTargets: codestarnotifications.NotificationRuleTargetArray{\n\u0026codestarnotifications.NotificationRuleTargetArgs{\nAddress: notif.Arn,\n},\n},\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.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.codestarnotifications.NotificationRule;\nimport com.pulumi.aws.codestarnotifications.NotificationRuleArgs;\nimport com.pulumi.aws.codestarnotifications.inputs.NotificationRuleTargetArgs;\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 code = new Repository(\"code\", RepositoryArgs.builder() \n .repositoryName(\"example-code-repo\")\n .build());\n\n var notif = new Topic(\"notif\");\n\n final var notifAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sns:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codestar-notifications.amazonaws.com\")\n .build())\n .resources(notif.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder() \n .arn(notif.arn())\n .policy(notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(notifAccess -\u003e notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var commits = new NotificationRule(\"commits\", NotificationRuleArgs.builder() \n .detailType(\"BASIC\")\n .eventTypeIds(\"codecommit-repository-comments-on-commits\")\n .resource(code.arn())\n .targets(NotificationRuleTargetArgs.builder()\n .address(notif.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n code:\n type: aws:codecommit:Repository\n properties:\n repositoryName: example-code-repo\n notif:\n type: aws:sns:Topic\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${notif.arn}\n policy: ${notifAccess.json}\n commits:\n type: aws:codestarnotifications:NotificationRule\n properties:\n detailType: BASIC\n eventTypeIds:\n - codecommit-repository-comments-on-commits\n resource: ${code.arn}\n targets:\n - address: ${notif.arn}\nvariables:\n notifAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sns:Publish\n principals:\n - type: Service\n identifiers:\n - codestar-notifications.amazonaws.com\n resources:\n - ${notif.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import CodeStar notification rule using the ARN. For example:\n\n```sh\n $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b\n```\n ", + "description": "Provides a CodeStar Notifications Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst code = new aws.codecommit.Repository(\"code\", {repositoryName: \"example-code-repo\"});\nconst notif = new aws.sns.Topic(\"notif\", {});\nconst notifAccess = notif.arn.apply(arn =\u003e aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sns:Publish\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"codestar-notifications.amazonaws.com\"],\n }],\n resources: [arn],\n }],\n}));\nconst _default = new aws.sns.TopicPolicy(\"default\", {\n arn: notif.arn,\n policy: notifAccess.apply(notifAccess =\u003e notifAccess.json),\n});\nconst commits = new aws.codestarnotifications.NotificationRule(\"commits\", {\n detailType: \"BASIC\",\n eventTypeIds: [\"codecommit-repository-comments-on-commits\"],\n resource: code.arn,\n targets: [{\n address: notif.arn,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncode = aws.codecommit.Repository(\"code\", repository_name=\"example-code-repo\")\nnotif = aws.sns.Topic(\"notif\")\nnotif_access = notif.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sns:Publish\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"codestar-notifications.amazonaws.com\"],\n )],\n resources=[arn],\n)]))\ndefault = aws.sns.TopicPolicy(\"default\",\n arn=notif.arn,\n policy=notif_access.json)\ncommits = aws.codestarnotifications.NotificationRule(\"commits\",\n detail_type=\"BASIC\",\n event_type_ids=[\"codecommit-repository-comments-on-commits\"],\n resource=code.arn,\n targets=[aws.codestarnotifications.NotificationRuleTargetArgs(\n address=notif.arn,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var code = new Aws.CodeCommit.Repository(\"code\", new()\n {\n RepositoryName = \"example-code-repo\",\n });\n\n var notif = new Aws.Sns.Topic(\"notif\");\n\n var notifAccess = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sns:Publish\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"codestar-notifications.amazonaws.com\",\n },\n },\n },\n Resources = new[]\n {\n notif.Arn,\n },\n },\n },\n });\n\n var @default = new Aws.Sns.TopicPolicy(\"default\", new()\n {\n Arn = notif.Arn,\n Policy = notifAccess.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var commits = new Aws.CodeStarNotifications.NotificationRule(\"commits\", new()\n {\n DetailType = \"BASIC\",\n EventTypeIds = new[]\n {\n \"codecommit-repository-comments-on-commits\",\n },\n Resource = code.Arn,\n Targets = new[]\n {\n new Aws.CodeStarNotifications.Inputs.NotificationRuleTargetArgs\n {\n Address = notif.Arn,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codecommit\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarnotifications\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncode, err := codecommit.NewRepository(ctx, \"code\", \u0026codecommit.RepositoryArgs{\nRepositoryName: pulumi.String(\"example-code-repo\"),\n})\nif err != nil {\nreturn err\n}\nnotif, err := sns.NewTopic(ctx, \"notif\", nil)\nif err != nil {\nreturn err\n}\nnotifAccess := notif.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {\nreturn iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sns:Publish\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nType: \"Service\",\nIdentifiers: []string{\n\"codestar-notifications.amazonaws.com\",\n},\n},\n},\nResources: interface{}{\narn,\n},\n},\n},\n}, nil), nil\n}).(iam.GetPolicyDocumentResultOutput)\n_, err = sns.NewTopicPolicy(ctx, \"default\", \u0026sns.TopicPolicyArgs{\nArn: notif.Arn,\nPolicy: notifAccess.ApplyT(func(notifAccess iam.GetPolicyDocumentResult) (*string, error) {\nreturn \u0026notifAccess.Json, nil\n}).(pulumi.StringPtrOutput),\n})\nif err != nil {\nreturn err\n}\n_, err = codestarnotifications.NewNotificationRule(ctx, \"commits\", \u0026codestarnotifications.NotificationRuleArgs{\nDetailType: pulumi.String(\"BASIC\"),\nEventTypeIds: pulumi.StringArray{\npulumi.String(\"codecommit-repository-comments-on-commits\"),\n},\nResource: code.Arn,\nTargets: codestarnotifications.NotificationRuleTargetArray{\n\u0026codestarnotifications.NotificationRuleTargetArgs{\nAddress: notif.Arn,\n},\n},\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.codecommit.Repository;\nimport com.pulumi.aws.codecommit.RepositoryArgs;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.sns.TopicPolicy;\nimport com.pulumi.aws.sns.TopicPolicyArgs;\nimport com.pulumi.aws.codestarnotifications.NotificationRule;\nimport com.pulumi.aws.codestarnotifications.NotificationRuleArgs;\nimport com.pulumi.aws.codestarnotifications.inputs.NotificationRuleTargetArgs;\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 code = new Repository(\"code\", RepositoryArgs.builder() \n .repositoryName(\"example-code-repo\")\n .build());\n\n var notif = new Topic(\"notif\");\n\n final var notifAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sns:Publish\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"codestar-notifications.amazonaws.com\")\n .build())\n .resources(notif.arn())\n .build())\n .build());\n\n var default_ = new TopicPolicy(\"default\", TopicPolicyArgs.builder() \n .arn(notif.arn())\n .policy(notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(notifAccess -\u003e notifAccess.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var commits = new NotificationRule(\"commits\", NotificationRuleArgs.builder() \n .detailType(\"BASIC\")\n .eventTypeIds(\"codecommit-repository-comments-on-commits\")\n .resource(code.arn())\n .targets(NotificationRuleTargetArgs.builder()\n .address(notif.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n code:\n type: aws:codecommit:Repository\n properties:\n repositoryName: example-code-repo\n notif:\n type: aws:sns:Topic\n default:\n type: aws:sns:TopicPolicy\n properties:\n arn: ${notif.arn}\n policy: ${notifAccess.json}\n commits:\n type: aws:codestarnotifications:NotificationRule\n properties:\n detailType: BASIC\n eventTypeIds:\n - codecommit-repository-comments-on-commits\n resource: ${code.arn}\n targets:\n - address: ${notif.arn}\nvariables:\n notifAccess:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sns:Publish\n principals:\n - type: Service\n identifiers:\n - codestar-notifications.amazonaws.com\n resources:\n - ${notif.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import {\n\n to = aws_codestarnotifications_notification_rule.foo\n\n id = \"arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b\" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b ", "properties": { "arn": { "type": "string", @@ -157162,7 +157447,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" + "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", @@ -157217,7 +157502,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" + "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" }, "targets": { "type": "array", @@ -157268,7 +157553,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" + "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", @@ -157289,7 +157574,7 @@ } }, "aws:cognito/identityPool:IdentityPool": { - "description": "Provides an AWS Cognito Identity Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {samlMetadataDocument: fs.readFileSync(\"saml-metadata.xml\")});\nconst main = new aws.cognito.IdentityPool(\"main\", {\n identityPoolName: \"identity pool\",\n allowUnauthenticatedIdentities: false,\n allowClassicFlow: false,\n cognitoIdentityProviders: [\n {\n clientId: \"6lhlkkfbfb4q5kpp90urffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n serverSideTokenCheck: false,\n },\n {\n clientId: \"7kodkvfqfb4qfkp39eurffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n serverSideTokenCheck: false,\n },\n ],\n supportedLoginProviders: {\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n samlProviderArns: [_default.arn],\n openidConnectProviderArns: [\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.SamlProvider(\"default\", saml_metadata_document=(lambda path: open(path).read())(\"saml-metadata.xml\"))\nmain = aws.cognito.IdentityPool(\"main\",\n identity_pool_name=\"identity pool\",\n allow_unauthenticated_identities=False,\n allow_classic_flow=False,\n cognito_identity_providers=[\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"6lhlkkfbfb4q5kpp90urffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n server_side_token_check=False,\n ),\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"7kodkvfqfb4qfkp39eurffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n server_side_token_check=False,\n ),\n ],\n supported_login_providers={\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n saml_provider_arns=[default.arn],\n openid_connect_provider_arns=[\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n SamlMetadataDocument = File.ReadAllText(\"saml-metadata.xml\"),\n });\n\n var main = new Aws.Cognito.IdentityPool(\"main\", new()\n {\n IdentityPoolName = \"identity pool\",\n AllowUnauthenticatedIdentities = false,\n AllowClassicFlow = false,\n CognitoIdentityProviders = new[]\n {\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"6lhlkkfbfb4q5kpp90urffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n ServerSideTokenCheck = false,\n },\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"7kodkvfqfb4qfkp39eurffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n ServerSideTokenCheck = false,\n },\n },\n SupportedLoginProviders = \n {\n { \"graph.facebook.com\", \"7346241598935552\" },\n { \"accounts.google.com\", \"123456789012.apps.googleusercontent.com\" },\n },\n SamlProviderArns = new[]\n {\n @default.Arn,\n },\n OpenidConnectProviderArns = new[]\n {\n \"arn:aws:iam::123456789012:oidc-provider/id.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tSamlMetadataDocument: readFileOrPanic(\"saml-metadata.xml\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityPool(ctx, \"main\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"identity pool\"),\n\t\t\tAllowUnauthenticatedIdentities: pulumi.Bool(false),\n\t\t\tAllowClassicFlow: pulumi.Bool(false),\n\t\t\tCognitoIdentityProviders: cognito.IdentityPoolCognitoIdentityProviderArray{\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"6lhlkkfbfb4q5kpp90urffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"7kodkvfqfb4qfkp39eurffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSupportedLoginProviders: pulumi.StringMap{\n\t\t\t\t\"graph.facebook.com\": pulumi.String(\"7346241598935552\"),\n\t\t\t\t\"accounts.google.com\": pulumi.String(\"123456789012.apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tSamlProviderArns: pulumi.StringArray{\n\t\t\t\t_default.Arn,\n\t\t\t},\n\t\t\tOpenidConnectProviderArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"),\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.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.cognito.inputs.IdentityPoolCognitoIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SamlProvider(\"default\", SamlProviderArgs.builder() \n .samlMetadataDocument(Files.readString(Paths.get(\"saml-metadata.xml\")))\n .build());\n\n var main = new IdentityPool(\"main\", IdentityPoolArgs.builder() \n .identityPoolName(\"identity pool\")\n .allowUnauthenticatedIdentities(false)\n .allowClassicFlow(false)\n .cognitoIdentityProviders( \n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"6lhlkkfbfb4q5kpp90urffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\")\n .serverSideTokenCheck(false)\n .build(),\n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"7kodkvfqfb4qfkp39eurffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\")\n .serverSideTokenCheck(false)\n .build())\n .supportedLoginProviders(Map.ofEntries(\n Map.entry(\"graph.facebook.com\", \"7346241598935552\"),\n Map.entry(\"accounts.google.com\", \"123456789012.apps.googleusercontent.com\")\n ))\n .samlProviderArns(default_.arn())\n .openidConnectProviderArns(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n samlMetadataDocument:\n fn::readFile: saml-metadata.xml\n main:\n type: aws:cognito:IdentityPool\n properties:\n identityPoolName: identity pool\n allowUnauthenticatedIdentities: false\n allowClassicFlow: false\n cognitoIdentityProviders:\n - clientId: 6lhlkkfbfb4q5kpp90urffae\n providerName: cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\n serverSideTokenCheck: false\n - clientId: 7kodkvfqfb4qfkp39eurffae\n providerName: cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\n serverSideTokenCheck: false\n supportedLoginProviders:\n graph.facebook.com: '7346241598935552'\n accounts.google.com: 123456789012.apps.googleusercontent.com\n samlProviderArns:\n - ${default.arn}\n openidConnectProviderArns:\n - arn:aws:iam::123456789012:oidc-provider/id.example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool using its ID. For example:\n\n```sh\n $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3\n```\n ", + "description": "Provides an AWS Cognito Identity Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst _default = new aws.iam.SamlProvider(\"default\", {samlMetadataDocument: fs.readFileSync(\"saml-metadata.xml\")});\nconst main = new aws.cognito.IdentityPool(\"main\", {\n identityPoolName: \"identity pool\",\n allowUnauthenticatedIdentities: false,\n allowClassicFlow: false,\n cognitoIdentityProviders: [\n {\n clientId: \"6lhlkkfbfb4q5kpp90urffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n serverSideTokenCheck: false,\n },\n {\n clientId: \"7kodkvfqfb4qfkp39eurffae\",\n providerName: \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n serverSideTokenCheck: false,\n },\n ],\n supportedLoginProviders: {\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n samlProviderArns: [_default.arn],\n openidConnectProviderArns: [\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.iam.SamlProvider(\"default\", saml_metadata_document=(lambda path: open(path).read())(\"saml-metadata.xml\"))\nmain = aws.cognito.IdentityPool(\"main\",\n identity_pool_name=\"identity pool\",\n allow_unauthenticated_identities=False,\n allow_classic_flow=False,\n cognito_identity_providers=[\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"6lhlkkfbfb4q5kpp90urffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n server_side_token_check=False,\n ),\n aws.cognito.IdentityPoolCognitoIdentityProviderArgs(\n client_id=\"7kodkvfqfb4qfkp39eurffae\",\n provider_name=\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n server_side_token_check=False,\n ),\n ],\n supported_login_providers={\n \"graph.facebook.com\": \"7346241598935552\",\n \"accounts.google.com\": \"123456789012.apps.googleusercontent.com\",\n },\n saml_provider_arns=[default.arn],\n openid_connect_provider_arns=[\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Iam.SamlProvider(\"default\", new()\n {\n SamlMetadataDocument = File.ReadAllText(\"saml-metadata.xml\"),\n });\n\n var main = new Aws.Cognito.IdentityPool(\"main\", new()\n {\n IdentityPoolName = \"identity pool\",\n AllowUnauthenticatedIdentities = false,\n AllowClassicFlow = false,\n CognitoIdentityProviders = new[]\n {\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"6lhlkkfbfb4q5kpp90urffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\",\n ServerSideTokenCheck = false,\n },\n new Aws.Cognito.Inputs.IdentityPoolCognitoIdentityProviderArgs\n {\n ClientId = \"7kodkvfqfb4qfkp39eurffae\",\n ProviderName = \"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\",\n ServerSideTokenCheck = false,\n },\n },\n SupportedLoginProviders = \n {\n { \"graph.facebook.com\", \"7346241598935552\" },\n { \"accounts.google.com\", \"123456789012.apps.googleusercontent.com\" },\n },\n SamlProviderArns = new[]\n {\n @default.Arn,\n },\n OpenidConnectProviderArns = new[]\n {\n \"arn:aws:iam::123456789012:oidc-provider/id.example.com\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.NewSamlProvider(ctx, \"default\", \u0026iam.SamlProviderArgs{\n\t\t\tSamlMetadataDocument: readFileOrPanic(\"saml-metadata.xml\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cognito.NewIdentityPool(ctx, \"main\", \u0026cognito.IdentityPoolArgs{\n\t\t\tIdentityPoolName: pulumi.String(\"identity pool\"),\n\t\t\tAllowUnauthenticatedIdentities: pulumi.Bool(false),\n\t\t\tAllowClassicFlow: pulumi.Bool(false),\n\t\t\tCognitoIdentityProviders: cognito.IdentityPoolCognitoIdentityProviderArray{\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"6lhlkkfbfb4q5kpp90urffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026cognito.IdentityPoolCognitoIdentityProviderArgs{\n\t\t\t\t\tClientId: pulumi.String(\"7kodkvfqfb4qfkp39eurffae\"),\n\t\t\t\t\tProviderName: pulumi.String(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\"),\n\t\t\t\t\tServerSideTokenCheck: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSupportedLoginProviders: pulumi.StringMap{\n\t\t\t\t\"graph.facebook.com\": pulumi.String(\"7346241598935552\"),\n\t\t\t\t\"accounts.google.com\": pulumi.String(\"123456789012.apps.googleusercontent.com\"),\n\t\t\t},\n\t\t\tSamlProviderArns: pulumi.StringArray{\n\t\t\t\t_default.Arn,\n\t\t\t},\n\t\t\tOpenidConnectProviderArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\"),\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.SamlProvider;\nimport com.pulumi.aws.iam.SamlProviderArgs;\nimport com.pulumi.aws.cognito.IdentityPool;\nimport com.pulumi.aws.cognito.IdentityPoolArgs;\nimport com.pulumi.aws.cognito.inputs.IdentityPoolCognitoIdentityProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new SamlProvider(\"default\", SamlProviderArgs.builder() \n .samlMetadataDocument(Files.readString(Paths.get(\"saml-metadata.xml\")))\n .build());\n\n var main = new IdentityPool(\"main\", IdentityPoolArgs.builder() \n .identityPoolName(\"identity pool\")\n .allowUnauthenticatedIdentities(false)\n .allowClassicFlow(false)\n .cognitoIdentityProviders( \n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"6lhlkkfbfb4q5kpp90urffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\")\n .serverSideTokenCheck(false)\n .build(),\n IdentityPoolCognitoIdentityProviderArgs.builder()\n .clientId(\"7kodkvfqfb4qfkp39eurffae\")\n .providerName(\"cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\")\n .serverSideTokenCheck(false)\n .build())\n .supportedLoginProviders(Map.ofEntries(\n Map.entry(\"graph.facebook.com\", \"7346241598935552\"),\n Map.entry(\"accounts.google.com\", \"123456789012.apps.googleusercontent.com\")\n ))\n .samlProviderArns(default_.arn())\n .openidConnectProviderArns(\"arn:aws:iam::123456789012:oidc-provider/id.example.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:iam:SamlProvider\n properties:\n samlMetadataDocument:\n fn::readFile: saml-metadata.xml\n main:\n type: aws:cognito:IdentityPool\n properties:\n identityPoolName: identity pool\n allowUnauthenticatedIdentities: false\n allowClassicFlow: false\n cognitoIdentityProviders:\n - clientId: 6lhlkkfbfb4q5kpp90urffae\n providerName: cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ\n serverSideTokenCheck: false\n - clientId: 7kodkvfqfb4qfkp39eurffae\n providerName: cognito-idp.us-east-1.amazonaws.com/eu-west-1_Zr231apJu\n serverSideTokenCheck: false\n supportedLoginProviders:\n graph.facebook.com: '7346241598935552'\n accounts.google.com: 123456789012.apps.googleusercontent.com\n samlProviderArns:\n - ${default.arn}\n openidConnectProviderArns:\n - arn:aws:iam::123456789012:oidc-provider/id.example.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import {\n\n to = aws_cognito_identity_pool.mypool\n\n id = \"us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3\" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 ", "properties": { "allowClassicFlow": { "type": "boolean", @@ -157489,7 +157774,7 @@ } }, "aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag": { - "description": "Provides an AWS Cognito Identity Principal Mapping.\n\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:\n\n```sh\n $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD\n```\n ", + "description": "Provides an AWS Cognito Identity Principal Mapping.\n\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import {\n\n to = aws_cognito_identity_pool_provider_principal_tag.example\n\n id = \"us-west-2_abc123:CorpAD\" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD ", "properties": { "identityPoolId": { "type": "string", @@ -157571,7 +157856,7 @@ } }, "aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment": { - "description": "Provides an AWS Cognito Identity Pool Roles Attachment.\n\n\n## Import\n\nUsing `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example:\n\n```sh\n $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42\n```\n ", + "description": "Provides an AWS Cognito Identity Pool Roles Attachment.\n\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import {\n\n to = aws_cognito_identity_pool_roles_attachment.example\n\n id = \"us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42\" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 ", "properties": { "identityPoolId": { "type": "string", @@ -158753,7 +159038,7 @@ } }, "aws:cognito/userPool:UserPool": { - "description": "Provides a Cognito User Pool resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic configuration\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\")\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 pool = new Aws.Cognito.UserPool(\"pool\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.NewUserPool(ctx, \"pool\", 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.cognito.UserPool;\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 pool = new UserPool(\"pool\");\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n```\n{{% /example %}}\n{{% example %}}\n### Enabling SMS and Software Token Multi-Factor Authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst example = new aws.cognito.UserPool(\"example\", {\n mfaConfiguration: \"ON\",\n smsAuthenticationMessage: \"Your code is {####}\",\n smsConfiguration: {\n externalId: \"example\",\n snsCallerArn: aws_iam_role.example.arn,\n snsRegion: \"us-east-1\",\n },\n softwareTokenMfaConfiguration: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\nexample = aws.cognito.UserPool(\"example\",\n mfa_configuration=\"ON\",\n sms_authentication_message=\"Your code is {####}\",\n sms_configuration=aws.cognito.UserPoolSmsConfigurationArgs(\n external_id=\"example\",\n sns_caller_arn=aws_iam_role[\"example\"][\"arn\"],\n sns_region=\"us-east-1\",\n ),\n software_token_mfa_configuration=aws.cognito.UserPoolSoftwareTokenMfaConfigurationArgs(\n enabled=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 // ... other configuration ...\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n MfaConfiguration = \"ON\",\n SmsAuthenticationMessage = \"Your code is {####}\",\n SmsConfiguration = new Aws.Cognito.Inputs.UserPoolSmsConfigurationArgs\n {\n ExternalId = \"example\",\n SnsCallerArn = aws_iam_role.Example.Arn,\n SnsRegion = \"us-east-1\",\n },\n SoftwareTokenMfaConfiguration = new Aws.Cognito.Inputs.UserPoolSoftwareTokenMfaConfigurationArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tMfaConfiguration: pulumi.String(\"ON\"),\n\t\t\tSmsAuthenticationMessage: pulumi.String(\"Your code is {####}\"),\n\t\t\tSmsConfiguration: \u0026cognito.UserPoolSmsConfigurationArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tSnsCallerArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\t\tSnsRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tSoftwareTokenMfaConfiguration: \u0026cognito.UserPoolSoftwareTokenMfaConfigurationArgs{\n\t\t\t\tEnabled: 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.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSmsConfigurationArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSoftwareTokenMfaConfigurationArgs;\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 UserPool(\"example\", UserPoolArgs.builder() \n .mfaConfiguration(\"ON\")\n .smsAuthenticationMessage(\"Your code is {####}\")\n .smsConfiguration(UserPoolSmsConfigurationArgs.builder()\n .externalId(\"example\")\n .snsCallerArn(aws_iam_role.example().arn())\n .snsRegion(\"us-east-1\")\n .build())\n .softwareTokenMfaConfiguration(UserPoolSoftwareTokenMfaConfigurationArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n mfaConfiguration: ON\n smsAuthenticationMessage: Your code is {####}\n smsConfiguration:\n externalId: example\n snsCallerArn: ${aws_iam_role.example.arn}\n snsRegion: us-east-1\n softwareTokenMfaConfiguration:\n enabled: true\n```\n{{% /example %}}\n{{% example %}}\n### Using Account Recovery Setting\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cognito.UserPool(\"test\", {accountRecoverySetting: {\n recoveryMechanisms: [\n {\n name: \"verified_email\",\n priority: 1,\n },\n {\n name: \"verified_phone_number\",\n priority: 2,\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cognito.UserPool(\"test\", account_recovery_setting=aws.cognito.UserPoolAccountRecoverySettingArgs(\n recovery_mechanisms=[\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_email\",\n priority=1,\n ),\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_phone_number\",\n priority=2,\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 test = new Aws.Cognito.UserPool(\"test\", new()\n {\n AccountRecoverySetting = new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingArgs\n {\n RecoveryMechanisms = new[]\n {\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_email\",\n Priority = 1,\n },\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_phone_number\",\n Priority = 2,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tAccountRecoverySetting: \u0026cognito.UserPoolAccountRecoverySettingArgs{\n\t\t\t\tRecoveryMechanisms: cognito.UserPoolAccountRecoverySettingRecoveryMechanismArray{\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_email\"),\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_phone_number\"),\n\t\t\t\t\t\tPriority: pulumi.Int(2),\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.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolAccountRecoverySettingArgs;\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 UserPool(\"test\", UserPoolArgs.builder() \n .accountRecoverySetting(UserPoolAccountRecoverySettingArgs.builder()\n .recoveryMechanisms( \n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_email\")\n .priority(1)\n .build(),\n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_phone_number\")\n .priority(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cognito:UserPool\n properties:\n accountRecoverySetting:\n recoveryMechanisms:\n - name: verified_email\n priority: 1\n - name: verified_phone_number\n priority: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Cognito User Pools using the `id`. For example:\n\n```sh\n $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123\n```\n ", + "description": "Provides a Cognito User Pool resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic configuration\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst pool = new aws.cognito.UserPool(\"pool\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npool = aws.cognito.UserPool(\"pool\")\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 pool = new Aws.Cognito.UserPool(\"pool\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.NewUserPool(ctx, \"pool\", 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.cognito.UserPool;\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 pool = new UserPool(\"pool\");\n\n }\n}\n```\n```yaml\nresources:\n pool:\n type: aws:cognito:UserPool\n```\n{{% /example %}}\n{{% example %}}\n### Enabling SMS and Software Token Multi-Factor Authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\n// ... other configuration ...\nconst example = new aws.cognito.UserPool(\"example\", {\n mfaConfiguration: \"ON\",\n smsAuthenticationMessage: \"Your code is {####}\",\n smsConfiguration: {\n externalId: \"example\",\n snsCallerArn: aws_iam_role.example.arn,\n snsRegion: \"us-east-1\",\n },\n softwareTokenMfaConfiguration: {\n enabled: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\n# ... other configuration ...\nexample = aws.cognito.UserPool(\"example\",\n mfa_configuration=\"ON\",\n sms_authentication_message=\"Your code is {####}\",\n sms_configuration=aws.cognito.UserPoolSmsConfigurationArgs(\n external_id=\"example\",\n sns_caller_arn=aws_iam_role[\"example\"][\"arn\"],\n sns_region=\"us-east-1\",\n ),\n software_token_mfa_configuration=aws.cognito.UserPoolSoftwareTokenMfaConfigurationArgs(\n enabled=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 // ... other configuration ...\n var example = new Aws.Cognito.UserPool(\"example\", new()\n {\n MfaConfiguration = \"ON\",\n SmsAuthenticationMessage = \"Your code is {####}\",\n SmsConfiguration = new Aws.Cognito.Inputs.UserPoolSmsConfigurationArgs\n {\n ExternalId = \"example\",\n SnsCallerArn = aws_iam_role.Example.Arn,\n SnsRegion = \"us-east-1\",\n },\n SoftwareTokenMfaConfiguration = new Aws.Cognito.Inputs.UserPoolSoftwareTokenMfaConfigurationArgs\n {\n Enabled = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.NewUserPool(ctx, \"example\", \u0026cognito.UserPoolArgs{\n\t\t\tMfaConfiguration: pulumi.String(\"ON\"),\n\t\t\tSmsAuthenticationMessage: pulumi.String(\"Your code is {####}\"),\n\t\t\tSmsConfiguration: \u0026cognito.UserPoolSmsConfigurationArgs{\n\t\t\t\tExternalId: pulumi.String(\"example\"),\n\t\t\t\tSnsCallerArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\t\tSnsRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t\tSoftwareTokenMfaConfiguration: \u0026cognito.UserPoolSoftwareTokenMfaConfigurationArgs{\n\t\t\t\tEnabled: 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.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSmsConfigurationArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolSoftwareTokenMfaConfigurationArgs;\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 UserPool(\"example\", UserPoolArgs.builder() \n .mfaConfiguration(\"ON\")\n .smsAuthenticationMessage(\"Your code is {####}\")\n .smsConfiguration(UserPoolSmsConfigurationArgs.builder()\n .externalId(\"example\")\n .snsCallerArn(aws_iam_role.example().arn())\n .snsRegion(\"us-east-1\")\n .build())\n .softwareTokenMfaConfiguration(UserPoolSoftwareTokenMfaConfigurationArgs.builder()\n .enabled(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:cognito:UserPool\n properties:\n mfaConfiguration: ON\n smsAuthenticationMessage: Your code is {####}\n smsConfiguration:\n externalId: example\n snsCallerArn: ${aws_iam_role.example.arn}\n snsRegion: us-east-1\n softwareTokenMfaConfiguration:\n enabled: true\n```\n{{% /example %}}\n{{% example %}}\n### Using Account Recovery Setting\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.cognito.UserPool(\"test\", {accountRecoverySetting: {\n recoveryMechanisms: [\n {\n name: \"verified_email\",\n priority: 1,\n },\n {\n name: \"verified_phone_number\",\n priority: 2,\n },\n ],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.cognito.UserPool(\"test\", account_recovery_setting=aws.cognito.UserPoolAccountRecoverySettingArgs(\n recovery_mechanisms=[\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_email\",\n priority=1,\n ),\n aws.cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs(\n name=\"verified_phone_number\",\n priority=2,\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 test = new Aws.Cognito.UserPool(\"test\", new()\n {\n AccountRecoverySetting = new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingArgs\n {\n RecoveryMechanisms = new[]\n {\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_email\",\n Priority = 1,\n },\n new Aws.Cognito.Inputs.UserPoolAccountRecoverySettingRecoveryMechanismArgs\n {\n Name = \"verified_phone_number\",\n Priority = 2,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.NewUserPool(ctx, \"test\", \u0026cognito.UserPoolArgs{\n\t\t\tAccountRecoverySetting: \u0026cognito.UserPoolAccountRecoverySettingArgs{\n\t\t\t\tRecoveryMechanisms: cognito.UserPoolAccountRecoverySettingRecoveryMechanismArray{\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_email\"),\n\t\t\t\t\t\tPriority: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026cognito.UserPoolAccountRecoverySettingRecoveryMechanismArgs{\n\t\t\t\t\t\tName: pulumi.String(\"verified_phone_number\"),\n\t\t\t\t\t\tPriority: pulumi.Int(2),\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.cognito.UserPool;\nimport com.pulumi.aws.cognito.UserPoolArgs;\nimport com.pulumi.aws.cognito.inputs.UserPoolAccountRecoverySettingArgs;\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 UserPool(\"test\", UserPoolArgs.builder() \n .accountRecoverySetting(UserPoolAccountRecoverySettingArgs.builder()\n .recoveryMechanisms( \n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_email\")\n .priority(1)\n .build(),\n UserPoolAccountRecoverySettingRecoveryMechanismArgs.builder()\n .name(\"verified_phone_number\")\n .priority(2)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:cognito:UserPool\n properties:\n accountRecoverySetting:\n recoveryMechanisms:\n - name: verified_email\n priority: 1\n - name: verified_phone_number\n priority: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import {\n\n to = aws_cognito_user_pool.pool\n\n id = \"us-west-2_abc123\" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 ", "properties": { "accountRecoverySetting": { "$ref": "#/types/aws:cognito/UserPoolAccountRecoverySetting:UserPoolAccountRecoverySetting", @@ -158854,7 +159139,7 @@ }, "smsConfiguration": { "$ref": "#/types/aws:cognito/UserPoolSmsConfiguration:UserPoolSmsConfiguration", - "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection.\n" + "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command.\n" }, "smsVerificationMessage": { "type": "string", @@ -158994,7 +159279,7 @@ }, "smsConfiguration": { "$ref": "#/types/aws:cognito/UserPoolSmsConfiguration:UserPoolSmsConfiguration", - "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection.\n" + "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command.\n" }, "smsVerificationMessage": { "type": "string", @@ -159140,7 +159425,7 @@ }, "smsConfiguration": { "$ref": "#/types/aws:cognito/UserPoolSmsConfiguration:UserPoolSmsConfiguration", - "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection.\n" + "description": "Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command.\n" }, "smsVerificationMessage": { "type": "string", @@ -160178,7 +160463,7 @@ } }, "aws:connect/botAssociation:BotAssociation": { - "description": "Allows the specified Amazon Connect instance to access the specified Amazon Lex (V1) bot. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Add an Amazon Lex bot](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-lex.html).\n\n\u003e **NOTE:** This resource only currently supports Amazon Lex (V1) Associations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.BotAssociation(\"example\", {\n instanceId: aws_connect_instance.example.id,\n lexBot: {\n lexRegion: \"us-west-2\",\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.BotAssociation(\"example\",\n instance_id=aws_connect_instance[\"example\"][\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=\"us-west-2\",\n name=\"Test\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = aws_connect_instance.Example.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = \"us-west-2\",\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(aws_connect_instance.Example.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(\"us-west-2\"),\n\t\t\t\tName: pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\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 BotAssociation(\"example\", BotAssociationArgs.builder() \n .instanceId(aws_connect_instance.example().id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(\"us-west-2\")\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${aws_connect_instance.example.id}\n lexBot:\n lexRegion: us-west-2\n name: Test\n```\n{{% /example %}}\n{{% example %}}\n### Including a sample Lex bot\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleIntent = new aws.lex.Intent(\"exampleIntent\", {\n createVersion: true,\n name: \"connect_lex_intent\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n sampleUtterances: [\"I would like to pick up flowers.\"],\n});\nconst exampleBot = new aws.lex.Bot(\"exampleBot\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time.\",\n contentType: \"PlainText\",\n }],\n },\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n intents: [{\n intentName: exampleIntent.name,\n intentVersion: \"1\",\n }],\n childDirected: false,\n name: \"connect_lex_bot\",\n processBehavior: \"BUILD\",\n});\nconst exampleBotAssociation = new aws.connect.BotAssociation(\"exampleBotAssociation\", {\n instanceId: aws_connect_instance.example.id,\n lexBot: {\n lexRegion: current.then(current =\u003e current.name),\n name: exampleBot.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_intent = aws.lex.Intent(\"exampleIntent\",\n create_version=True,\n name=\"connect_lex_intent\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n sample_utterances=[\"I would like to pick up flowers.\"])\nexample_bot = aws.lex.Bot(\"exampleBot\",\n abort_statement=aws.lex.BotAbortStatementArgs(\n messages=[aws.lex.BotAbortStatementMessageArgs(\n content=\"Sorry, I am not able to assist at this time.\",\n content_type=\"PlainText\",\n )],\n ),\n clarification_prompt=aws.lex.BotClarificationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.BotClarificationPromptMessageArgs(\n content=\"I didn't understand you, what would you like to do?\",\n content_type=\"PlainText\",\n )],\n ),\n intents=[aws.lex.BotIntentArgs(\n intent_name=example_intent.name,\n intent_version=\"1\",\n )],\n child_directed=False,\n name=\"connect_lex_bot\",\n process_behavior=\"BUILD\")\nexample_bot_association = aws.connect.BotAssociation(\"exampleBotAssociation\",\n instance_id=aws_connect_instance[\"example\"][\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=current.name,\n name=example_bot.name,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleIntent = new Aws.Lex.Intent(\"exampleIntent\", new()\n {\n CreateVersion = true,\n Name = \"connect_lex_intent\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n SampleUtterances = new[]\n {\n \"I would like to pick up flowers.\",\n },\n });\n\n var exampleBot = new Aws.Lex.Bot(\"exampleBot\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time.\",\n ContentType = \"PlainText\",\n },\n },\n },\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = exampleIntent.Name,\n IntentVersion = \"1\",\n },\n },\n ChildDirected = false,\n Name = \"connect_lex_bot\",\n ProcessBehavior = \"BUILD\",\n });\n\n var exampleBotAssociation = new Aws.Connect.BotAssociation(\"exampleBotAssociation\", new()\n {\n InstanceId = aws_connect_instance.Example.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Name = exampleBot.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntent, err := lex.NewIntent(ctx, \"exampleIntent\", \u0026lex.IntentArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"connect_lex_intent\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to pick up flowers.\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBot, err := lex.NewBot(ctx, \"exampleBot\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: exampleIntent.Name,\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"connect_lex_bot\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewBotAssociation(ctx, \"exampleBotAssociation\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(aws_connect_instance.Example.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: *pulumi.String(current.Name),\n\t\t\t\tName: exampleBot.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleIntent = new Intent(\"exampleIntent\", IntentArgs.builder() \n .createVersion(true)\n .name(\"connect_lex_intent\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .sampleUtterances(\"I would like to pick up flowers.\")\n .build());\n\n var exampleBot = new Bot(\"exampleBot\", BotArgs.builder() \n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .intents(BotIntentArgs.builder()\n .intentName(exampleIntent.name())\n .intentVersion(\"1\")\n .build())\n .childDirected(false)\n .name(\"connect_lex_bot\")\n .processBehavior(\"BUILD\")\n .build());\n\n var exampleBotAssociation = new BotAssociation(\"exampleBotAssociation\", BotAssociationArgs.builder() \n .instanceId(aws_connect_instance.example().id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .name(exampleBot.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleIntent:\n type: aws:lex:Intent\n properties:\n createVersion: true\n name: connect_lex_intent\n fulfillmentActivity:\n type: ReturnIntent\n sampleUtterances:\n - I would like to pick up flowers.\n exampleBot:\n type: aws:lex:Bot\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time.\n contentType: PlainText\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n intents:\n - intentName: ${exampleIntent.name}\n intentVersion: '1'\n childDirected: false\n name: connect_lex_bot\n processBehavior: BUILD\n exampleBotAssociation:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${aws_connect_instance.example.id}\n lexBot:\n lexRegion: ${current.name}\n name: ${exampleBot.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:\n\n```sh\n $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2\n```\n ", + "description": "Allows the specified Amazon Connect instance to access the specified Amazon Lex (V1) bot. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Add an Amazon Lex bot](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-lex.html).\n\n\u003e **NOTE:** This resource only currently supports Amazon Lex (V1) Associations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.BotAssociation(\"example\", {\n instanceId: aws_connect_instance.example.id,\n lexBot: {\n lexRegion: \"us-west-2\",\n name: \"Test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.BotAssociation(\"example\",\n instance_id=aws_connect_instance[\"example\"][\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=\"us-west-2\",\n name=\"Test\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Connect.BotAssociation(\"example\", new()\n {\n InstanceId = aws_connect_instance.Example.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = \"us-west-2\",\n Name = \"Test\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.NewBotAssociation(ctx, \"example\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(aws_connect_instance.Example.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: pulumi.String(\"us-west-2\"),\n\t\t\t\tName: pulumi.String(\"Test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\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 BotAssociation(\"example\", BotAssociationArgs.builder() \n .instanceId(aws_connect_instance.example().id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(\"us-west-2\")\n .name(\"Test\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${aws_connect_instance.example.id}\n lexBot:\n lexRegion: us-west-2\n name: Test\n```\n{{% /example %}}\n{{% example %}}\n### Including a sample Lex bot\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getRegion({});\nconst exampleIntent = new aws.lex.Intent(\"exampleIntent\", {\n createVersion: true,\n name: \"connect_lex_intent\",\n fulfillmentActivity: {\n type: \"ReturnIntent\",\n },\n sampleUtterances: [\"I would like to pick up flowers.\"],\n});\nconst exampleBot = new aws.lex.Bot(\"exampleBot\", {\n abortStatement: {\n messages: [{\n content: \"Sorry, I am not able to assist at this time.\",\n contentType: \"PlainText\",\n }],\n },\n clarificationPrompt: {\n maxAttempts: 2,\n messages: [{\n content: \"I didn't understand you, what would you like to do?\",\n contentType: \"PlainText\",\n }],\n },\n intents: [{\n intentName: exampleIntent.name,\n intentVersion: \"1\",\n }],\n childDirected: false,\n name: \"connect_lex_bot\",\n processBehavior: \"BUILD\",\n});\nconst exampleBotAssociation = new aws.connect.BotAssociation(\"exampleBotAssociation\", {\n instanceId: aws_connect_instance.example.id,\n lexBot: {\n lexRegion: current.then(current =\u003e current.name),\n name: exampleBot.name,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_region()\nexample_intent = aws.lex.Intent(\"exampleIntent\",\n create_version=True,\n name=\"connect_lex_intent\",\n fulfillment_activity=aws.lex.IntentFulfillmentActivityArgs(\n type=\"ReturnIntent\",\n ),\n sample_utterances=[\"I would like to pick up flowers.\"])\nexample_bot = aws.lex.Bot(\"exampleBot\",\n abort_statement=aws.lex.BotAbortStatementArgs(\n messages=[aws.lex.BotAbortStatementMessageArgs(\n content=\"Sorry, I am not able to assist at this time.\",\n content_type=\"PlainText\",\n )],\n ),\n clarification_prompt=aws.lex.BotClarificationPromptArgs(\n max_attempts=2,\n messages=[aws.lex.BotClarificationPromptMessageArgs(\n content=\"I didn't understand you, what would you like to do?\",\n content_type=\"PlainText\",\n )],\n ),\n intents=[aws.lex.BotIntentArgs(\n intent_name=example_intent.name,\n intent_version=\"1\",\n )],\n child_directed=False,\n name=\"connect_lex_bot\",\n process_behavior=\"BUILD\")\nexample_bot_association = aws.connect.BotAssociation(\"exampleBotAssociation\",\n instance_id=aws_connect_instance[\"example\"][\"id\"],\n lex_bot=aws.connect.BotAssociationLexBotArgs(\n lex_region=current.name,\n name=example_bot.name,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetRegion.Invoke();\n\n var exampleIntent = new Aws.Lex.Intent(\"exampleIntent\", new()\n {\n CreateVersion = true,\n Name = \"connect_lex_intent\",\n FulfillmentActivity = new Aws.Lex.Inputs.IntentFulfillmentActivityArgs\n {\n Type = \"ReturnIntent\",\n },\n SampleUtterances = new[]\n {\n \"I would like to pick up flowers.\",\n },\n });\n\n var exampleBot = new Aws.Lex.Bot(\"exampleBot\", new()\n {\n AbortStatement = new Aws.Lex.Inputs.BotAbortStatementArgs\n {\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotAbortStatementMessageArgs\n {\n Content = \"Sorry, I am not able to assist at this time.\",\n ContentType = \"PlainText\",\n },\n },\n },\n ClarificationPrompt = new Aws.Lex.Inputs.BotClarificationPromptArgs\n {\n MaxAttempts = 2,\n Messages = new[]\n {\n new Aws.Lex.Inputs.BotClarificationPromptMessageArgs\n {\n Content = \"I didn't understand you, what would you like to do?\",\n ContentType = \"PlainText\",\n },\n },\n },\n Intents = new[]\n {\n new Aws.Lex.Inputs.BotIntentArgs\n {\n IntentName = exampleIntent.Name,\n IntentVersion = \"1\",\n },\n },\n ChildDirected = false,\n Name = \"connect_lex_bot\",\n ProcessBehavior = \"BUILD\",\n });\n\n var exampleBotAssociation = new Aws.Connect.BotAssociation(\"exampleBotAssociation\", new()\n {\n InstanceId = aws_connect_instance.Example.Id,\n LexBot = new Aws.Connect.Inputs.BotAssociationLexBotArgs\n {\n LexRegion = current.Apply(getRegionResult =\u003e getRegionResult.Name),\n Name = exampleBot.Name,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleIntent, err := lex.NewIntent(ctx, \"exampleIntent\", \u0026lex.IntentArgs{\n\t\t\tCreateVersion: pulumi.Bool(true),\n\t\t\tName: pulumi.String(\"connect_lex_intent\"),\n\t\t\tFulfillmentActivity: \u0026lex.IntentFulfillmentActivityArgs{\n\t\t\t\tType: pulumi.String(\"ReturnIntent\"),\n\t\t\t},\n\t\t\tSampleUtterances: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"I would like to pick up flowers.\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBot, err := lex.NewBot(ctx, \"exampleBot\", \u0026lex.BotArgs{\n\t\t\tAbortStatement: \u0026lex.BotAbortStatementArgs{\n\t\t\t\tMessages: lex.BotAbortStatementMessageArray{\n\t\t\t\t\t\u0026lex.BotAbortStatementMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"Sorry, I am not able to assist at this time.\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClarificationPrompt: \u0026lex.BotClarificationPromptArgs{\n\t\t\t\tMaxAttempts: pulumi.Int(2),\n\t\t\t\tMessages: lex.BotClarificationPromptMessageArray{\n\t\t\t\t\t\u0026lex.BotClarificationPromptMessageArgs{\n\t\t\t\t\t\tContent: pulumi.String(\"I didn't understand you, what would you like to do?\"),\n\t\t\t\t\t\tContentType: pulumi.String(\"PlainText\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntents: lex.BotIntentArray{\n\t\t\t\t\u0026lex.BotIntentArgs{\n\t\t\t\t\tIntentName: exampleIntent.Name,\n\t\t\t\t\tIntentVersion: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tChildDirected: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"connect_lex_bot\"),\n\t\t\tProcessBehavior: pulumi.String(\"BUILD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = connect.NewBotAssociation(ctx, \"exampleBotAssociation\", \u0026connect.BotAssociationArgs{\n\t\t\tInstanceId: pulumi.Any(aws_connect_instance.Example.Id),\n\t\t\tLexBot: \u0026connect.BotAssociationLexBotArgs{\n\t\t\t\tLexRegion: *pulumi.String(current.Name),\n\t\t\t\tName: exampleBot.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.lex.Intent;\nimport com.pulumi.aws.lex.IntentArgs;\nimport com.pulumi.aws.lex.inputs.IntentFulfillmentActivityArgs;\nimport com.pulumi.aws.lex.Bot;\nimport com.pulumi.aws.lex.BotArgs;\nimport com.pulumi.aws.lex.inputs.BotAbortStatementArgs;\nimport com.pulumi.aws.lex.inputs.BotClarificationPromptArgs;\nimport com.pulumi.aws.lex.inputs.BotIntentArgs;\nimport com.pulumi.aws.connect.BotAssociation;\nimport com.pulumi.aws.connect.BotAssociationArgs;\nimport com.pulumi.aws.connect.inputs.BotAssociationLexBotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getRegion();\n\n var exampleIntent = new Intent(\"exampleIntent\", IntentArgs.builder() \n .createVersion(true)\n .name(\"connect_lex_intent\")\n .fulfillmentActivity(IntentFulfillmentActivityArgs.builder()\n .type(\"ReturnIntent\")\n .build())\n .sampleUtterances(\"I would like to pick up flowers.\")\n .build());\n\n var exampleBot = new Bot(\"exampleBot\", BotArgs.builder() \n .abortStatement(BotAbortStatementArgs.builder()\n .messages(BotAbortStatementMessageArgs.builder()\n .content(\"Sorry, I am not able to assist at this time.\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .clarificationPrompt(BotClarificationPromptArgs.builder()\n .maxAttempts(2)\n .messages(BotClarificationPromptMessageArgs.builder()\n .content(\"I didn't understand you, what would you like to do?\")\n .contentType(\"PlainText\")\n .build())\n .build())\n .intents(BotIntentArgs.builder()\n .intentName(exampleIntent.name())\n .intentVersion(\"1\")\n .build())\n .childDirected(false)\n .name(\"connect_lex_bot\")\n .processBehavior(\"BUILD\")\n .build());\n\n var exampleBotAssociation = new BotAssociation(\"exampleBotAssociation\", BotAssociationArgs.builder() \n .instanceId(aws_connect_instance.example().id())\n .lexBot(BotAssociationLexBotArgs.builder()\n .lexRegion(current.applyValue(getRegionResult -\u003e getRegionResult.name()))\n .name(exampleBot.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleIntent:\n type: aws:lex:Intent\n properties:\n createVersion: true\n name: connect_lex_intent\n fulfillmentActivity:\n type: ReturnIntent\n sampleUtterances:\n - I would like to pick up flowers.\n exampleBot:\n type: aws:lex:Bot\n properties:\n abortStatement:\n messages:\n - content: Sorry, I am not able to assist at this time.\n contentType: PlainText\n clarificationPrompt:\n maxAttempts: 2\n messages:\n - content: I didn't understand you, what would you like to do?\n contentType: PlainText\n intents:\n - intentName: ${exampleIntent.name}\n intentVersion: '1'\n childDirected: false\n name: connect_lex_bot\n processBehavior: BUILD\n exampleBotAssociation:\n type: aws:connect:BotAssociation\n properties:\n instanceId: ${aws_connect_instance.example.id}\n lexBot:\n lexRegion: ${current.name}\n name: ${exampleBot.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import {\n\n to = aws_connect_bot_association.example\n\n id = \"aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2\" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 ", "properties": { "instanceId": { "type": "string", @@ -160939,7 +161224,7 @@ } }, "aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation": { - "description": "Provides an Amazon Connect Lambda Function Association. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Invoke AWS Lambda functions](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.LambdaFunctionAssociation(\"example\", {\n functionArn: aws_lambda_function.example.arn,\n instanceId: aws_connect_instance.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.LambdaFunctionAssociation(\"example\",\n function_arn=aws_lambda_function[\"example\"][\"arn\"],\n instance_id=aws_connect_instance[\"example\"][\"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.Connect.LambdaFunctionAssociation(\"example\", new()\n {\n FunctionArn = aws_lambda_function.Example.Arn,\n InstanceId = aws_connect_instance.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.NewLambdaFunctionAssociation(ctx, \"example\", \u0026connect.LambdaFunctionAssociationArgs{\n\t\t\tFunctionArn: pulumi.Any(aws_lambda_function.Example.Arn),\n\t\t\tInstanceId: pulumi.Any(aws_connect_instance.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.LambdaFunctionAssociation;\nimport com.pulumi.aws.connect.LambdaFunctionAssociationArgs;\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 LambdaFunctionAssociation(\"example\", LambdaFunctionAssociationArgs.builder() \n .functionArn(aws_lambda_function.example().arn())\n .instanceId(aws_connect_instance.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:LambdaFunctionAssociation\n properties:\n functionArn: ${aws_lambda_function.example.arn}\n instanceId: ${aws_connect_instance.example.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:\n\n```sh\n $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example\n```\n ", + "description": "Provides an Amazon Connect Lambda Function Association. For more information see\n[Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html) and [Invoke AWS Lambda functions](https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.connect.LambdaFunctionAssociation(\"example\", {\n functionArn: aws_lambda_function.example.arn,\n instanceId: aws_connect_instance.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.connect.LambdaFunctionAssociation(\"example\",\n function_arn=aws_lambda_function[\"example\"][\"arn\"],\n instance_id=aws_connect_instance[\"example\"][\"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.Connect.LambdaFunctionAssociation(\"example\", new()\n {\n FunctionArn = aws_lambda_function.Example.Arn,\n InstanceId = aws_connect_instance.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect\"\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 := connect.NewLambdaFunctionAssociation(ctx, \"example\", \u0026connect.LambdaFunctionAssociationArgs{\n\t\t\tFunctionArn: pulumi.Any(aws_lambda_function.Example.Arn),\n\t\t\tInstanceId: pulumi.Any(aws_connect_instance.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.connect.LambdaFunctionAssociation;\nimport com.pulumi.aws.connect.LambdaFunctionAssociationArgs;\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 LambdaFunctionAssociation(\"example\", LambdaFunctionAssociationArgs.builder() \n .functionArn(aws_lambda_function.example().arn())\n .instanceId(aws_connect_instance.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:connect:LambdaFunctionAssociation\n properties:\n functionArn: ${aws_lambda_function.example.arn}\n instanceId: ${aws_connect_instance.example.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import {\n\n to = aws_connect_lambda_function_association.example\n\n id = \"aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example\" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example ", "properties": { "functionArn": { "type": "string", @@ -170975,7 +171260,7 @@ } }, "aws:dlm/lifecyclePolicy:LifecyclePolicy": { - "description": "Provides a [Data Lifecycle Manager (DLM) lifecycle policy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) for managing snapshots.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"dlm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var dlmLifecycleRole = new Role(\"dlmLifecycleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var dlmLifecyclePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateTags\")\n .resources(\"arn:aws:ec2:*::snapshot/*\")\n .build())\n .build());\n\n var dlmLifecycleRolePolicy = new RolePolicy(\"dlmLifecycleRolePolicy\", RolePolicyArgs.builder() \n .role(dlmLifecycleRole.id())\n .policy(dlmLifecyclePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder() \n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmLifecycleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n dlmLifecycleRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${dlmLifecycleRole.id}\n policy: ${dlmLifecyclePolicyDocument.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes:\n - VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times:\n - 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n targetTags:\n Snapshot: 'true'\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - dlm.amazonaws.com\n actions:\n - sts:AssumeRole\n dlmLifecyclePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:CreateSnapshot\n - ec2:CreateSnapshots\n - ec2:DeleteSnapshot\n - ec2:DescribeInstances\n - ec2:DescribeVolumes\n - ec2:DescribeSnapshots\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateTags\n resources:\n - arn:aws:ec2:*::snapshot/*\n```\n{{% /example %}}\n{{% example %}}\n### Example Cross-Region Snapshot Copy Usage\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.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\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 current = AwsFunctions.getCallerIdentity();\n\n final var key = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var dlmCrossRegionCopyCmk = new Key(\"dlmCrossRegionCopyCmk\", KeyArgs.builder() \n .description(\"Example Alternate Region KMS Key\")\n .policy(key.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build(), CustomResourceOptions.builder()\n .provider(aws.alternate())\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder() \n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(aws_iam_role.dlm_lifecycle_role().arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .crossRegionCopyRules(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs.builder()\n .target(\"us-west-2\")\n .encrypted(true)\n .cmkArn(dlmCrossRegionCopyCmk.arn())\n .copyTags(true)\n .retainRule(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs.builder()\n .interval(30)\n .intervalUnit(\"DAYS\")\n .build())\n .build())\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmCrossRegionCopyCmk:\n type: aws:kms:Key\n properties:\n description: Example Alternate Region KMS Key\n policy: ${key.json}\n options:\n provider: ${aws.alternate}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${aws_iam_role.dlm_lifecycle_role.arn}\n state: ENABLED\n policyDetails:\n resourceTypes:\n - VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times:\n - 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n crossRegionCopyRules:\n - target: us-west-2\n encrypted: true\n cmkArn: ${dlmCrossRegionCopyCmk.arn}\n copyTags: true\n retainRule:\n interval: 30\n intervalUnit: DAYS\n targetTags:\n Snapshot: 'true'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n key:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example Event Based Policy Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleLifecyclePolicy = new aws.dlm.LifecyclePolicy(\"exampleLifecyclePolicy\", {\n description: \"tf-acc-basic\",\n executionRoleArn: aws_iam_role.example.arn,\n policyDetails: {\n policyType: \"EVENT_BASED_POLICY\",\n action: {\n name: \"tf-acc-basic\",\n crossRegionCopies: [{\n encryptionConfiguration: {},\n retainRule: {\n interval: 15,\n intervalUnit: \"MONTHS\",\n },\n target: \"us-east-1\",\n }],\n },\n eventSource: {\n type: \"MANAGED_CWE\",\n parameters: {\n descriptionRegex: \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n eventType: \"shareSnapshot\",\n snapshotOwners: [current.then(current =\u003e current.accountId)],\n },\n },\n },\n});\nconst examplePolicy = aws.iam.getPolicy({\n name: \"AWSDataLifecycleManagerServiceRole\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", {\n role: aws_iam_role.example.id,\n policyArn: examplePolicy.then(examplePolicy =\u003e examplePolicy.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_lifecycle_policy = aws.dlm.LifecyclePolicy(\"exampleLifecyclePolicy\",\n description=\"tf-acc-basic\",\n execution_role_arn=aws_iam_role[\"example\"][\"arn\"],\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n policy_type=\"EVENT_BASED_POLICY\",\n action=aws.dlm.LifecyclePolicyPolicyDetailsActionArgs(\n name=\"tf-acc-basic\",\n cross_region_copies=[aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs(\n encryption_configuration=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationArgs(),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs(\n interval=15,\n interval_unit=\"MONTHS\",\n ),\n target=\"us-east-1\",\n )],\n ),\n event_source=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceArgs(\n type=\"MANAGED_CWE\",\n parameters=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs(\n description_regex=\"^.*Created for policy: policy-1234567890abcdef0.*$\",\n event_type=\"shareSnapshot\",\n snapshot_owners=[current.account_id],\n ),\n ),\n ))\nexample_policy = aws.iam.get_policy(name=\"AWSDataLifecycleManagerServiceRole\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\",\n role=aws_iam_role[\"example\"][\"id\"],\n policy_arn=example_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleLifecyclePolicy = new Aws.Dlm.LifecyclePolicy(\"exampleLifecyclePolicy\", new()\n {\n Description = \"tf-acc-basic\",\n ExecutionRoleArn = aws_iam_role.Example.Arn,\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n PolicyType = \"EVENT_BASED_POLICY\",\n Action = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionArgs\n {\n Name = \"tf-acc-basic\",\n CrossRegionCopies = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs\n {\n EncryptionConfiguration = null,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs\n {\n Interval = 15,\n IntervalUnit = \"MONTHS\",\n },\n Target = \"us-east-1\",\n },\n },\n },\n EventSource = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceArgs\n {\n Type = \"MANAGED_CWE\",\n Parameters = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs\n {\n DescriptionRegex = \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n EventType = \"shareSnapshot\",\n SnapshotOwners = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n });\n\n var examplePolicy = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AWSDataLifecycleManagerServiceRole\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", new()\n {\n Role = aws_iam_role.Example.Id,\n PolicyArn = examplePolicy.Apply(getPolicyResult =\u003e getPolicyResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\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\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"exampleLifecyclePolicy\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"tf-acc-basic\"),\n\t\t\tExecutionRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tPolicyType: pulumi.String(\"EVENT_BASED_POLICY\"),\n\t\t\t\tAction: \u0026dlm.LifecyclePolicyPolicyDetailsActionArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-acc-basic\"),\n\t\t\t\t\tCrossRegionCopies: dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArray{\n\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs{\n\t\t\t\t\t\t\tEncryptionConfiguration: nil,\n\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs{\n\t\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"MONTHS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTarget: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEventSource: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"MANAGED_CWE\"),\n\t\t\t\t\tParameters: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs{\n\t\t\t\t\t\tDescriptionRegex: pulumi.String(\"^.*Created for policy: policy-1234567890abcdef0.*$\"),\n\t\t\t\t\t\tEventType: pulumi.String(\"shareSnapshot\"),\n\t\t\t\t\t\tSnapshotOwners: pulumi.StringArray{\n\t\t\t\t\t\t\t*pulumi.String(current.AccountId),\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\texamplePolicy, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AWSDataLifecycleManagerServiceRole\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"exampleRolePolicyAttachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Id),\n\t\t\tPolicyArn: *pulumi.String(examplePolicy.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsActionArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder() \n .description(\"tf-acc-basic\")\n .executionRoleArn(aws_iam_role.example().arn())\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .policyType(\"EVENT_BASED_POLICY\")\n .action(LifecyclePolicyPolicyDetailsActionArgs.builder()\n .name(\"tf-acc-basic\")\n .crossRegionCopies(LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs.builder()\n .encryptionConfiguration()\n .retainRule(LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs.builder()\n .interval(15)\n .intervalUnit(\"MONTHS\")\n .build())\n .target(\"us-east-1\")\n .build())\n .build())\n .eventSource(LifecyclePolicyPolicyDetailsEventSourceArgs.builder()\n .type(\"MANAGED_CWE\")\n .parameters(LifecyclePolicyPolicyDetailsEventSourceParametersArgs.builder()\n .descriptionRegex(\"^.*Created for policy: policy-1234567890abcdef0.*$\")\n .eventType(\"shareSnapshot\")\n .snapshotOwners(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n final var examplePolicy = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AWSDataLifecycleManagerServiceRole\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(aws_iam_role.example().id())\n .policyArn(examplePolicy.applyValue(getPolicyResult -\u003e getPolicyResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: tf-acc-basic\n executionRoleArn: ${aws_iam_role.example.arn}\n policyDetails:\n policyType: EVENT_BASED_POLICY\n action:\n name: tf-acc-basic\n crossRegionCopies:\n - encryptionConfiguration: {}\n retainRule:\n interval: 15\n intervalUnit: MONTHS\n target: us-east-1\n eventSource:\n type: MANAGED_CWE\n parameters:\n descriptionRegex: '^.*Created for policy: policy-1234567890abcdef0.*$'\n eventType: shareSnapshot\n snapshotOwners:\n - ${current.accountId}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${aws_iam_role.example.id}\n policyArn: ${examplePolicy.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n examplePolicy:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AWSDataLifecycleManagerServiceRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import DLM lifecycle policies using their policy ID. For example:\n\n```sh\n $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901\n```\n ", + "description": "Provides a [Data Lifecycle Manager (DLM) lifecycle policy](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html) for managing snapshots.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"dlm.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var dlmLifecycleRole = new Role(\"dlmLifecycleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var dlmLifecyclePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:CreateSnapshot\",\n \"ec2:CreateSnapshots\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeInstances\",\n \"ec2:DescribeVolumes\",\n \"ec2:DescribeSnapshots\")\n .resources(\"*\")\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:CreateTags\")\n .resources(\"arn:aws:ec2:*::snapshot/*\")\n .build())\n .build());\n\n var dlmLifecycleRolePolicy = new RolePolicy(\"dlmLifecycleRolePolicy\", RolePolicyArgs.builder() \n .role(dlmLifecycleRole.id())\n .policy(dlmLifecyclePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder() \n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(dlmLifecycleRole.arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmLifecycleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n dlmLifecycleRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${dlmLifecycleRole.id}\n policy: ${dlmLifecyclePolicyDocument.json}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${dlmLifecycleRole.arn}\n state: ENABLED\n policyDetails:\n resourceTypes:\n - VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times:\n - 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n targetTags:\n Snapshot: 'true'\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - dlm.amazonaws.com\n actions:\n - sts:AssumeRole\n dlmLifecyclePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:CreateSnapshot\n - ec2:CreateSnapshots\n - ec2:DeleteSnapshot\n - ec2:DescribeInstances\n - ec2:DescribeVolumes\n - ec2:DescribeSnapshots\n resources:\n - '*'\n - effect: Allow\n actions:\n - ec2:CreateTags\n resources:\n - arn:aws:ec2:*::snapshot/*\n```\n{{% /example %}}\n{{% example %}}\n### Example Cross-Region Snapshot Copy Usage\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.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\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 current = AwsFunctions.getCallerIdentity();\n\n final var key = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .sid(\"Enable IAM User Permissions\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(String.format(\"arn:aws:iam::%s:root\", current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .build())\n .actions(\"kms:*\")\n .resources(\"*\")\n .build())\n .build());\n\n var dlmCrossRegionCopyCmk = new Key(\"dlmCrossRegionCopyCmk\", KeyArgs.builder() \n .description(\"Example Alternate Region KMS Key\")\n .policy(key.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build(), CustomResourceOptions.builder()\n .provider(aws.alternate())\n .build());\n\n var example = new LifecyclePolicy(\"example\", LifecyclePolicyArgs.builder() \n .description(\"example DLM lifecycle policy\")\n .executionRoleArn(aws_iam_role.dlm_lifecycle_role().arn())\n .state(\"ENABLED\")\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .resourceTypes(\"VOLUME\")\n .schedules(LifecyclePolicyPolicyDetailsScheduleArgs.builder()\n .name(\"2 weeks of daily snapshots\")\n .createRule(LifecyclePolicyPolicyDetailsScheduleCreateRuleArgs.builder()\n .interval(24)\n .intervalUnit(\"HOURS\")\n .times(\"23:45\")\n .build())\n .retainRule(LifecyclePolicyPolicyDetailsScheduleRetainRuleArgs.builder()\n .count(14)\n .build())\n .tagsToAdd(Map.of(\"SnapshotCreator\", \"DLM\"))\n .copyTags(false)\n .crossRegionCopyRules(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleArgs.builder()\n .target(\"us-west-2\")\n .encrypted(true)\n .cmkArn(dlmCrossRegionCopyCmk.arn())\n .copyTags(true)\n .retainRule(LifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleArgs.builder()\n .interval(30)\n .intervalUnit(\"DAYS\")\n .build())\n .build())\n .build())\n .targetTags(Map.of(\"Snapshot\", \"true\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dlmCrossRegionCopyCmk:\n type: aws:kms:Key\n properties:\n description: Example Alternate Region KMS Key\n policy: ${key.json}\n options:\n provider: ${aws.alternate}\n example:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: example DLM lifecycle policy\n executionRoleArn: ${aws_iam_role.dlm_lifecycle_role.arn}\n state: ENABLED\n policyDetails:\n resourceTypes:\n - VOLUME\n schedules:\n - name: 2 weeks of daily snapshots\n createRule:\n interval: 24\n intervalUnit: HOURS\n times:\n - 23:45\n retainRule:\n count: 14\n tagsToAdd:\n SnapshotCreator: DLM\n copyTags: false\n crossRegionCopyRules:\n - target: us-west-2\n encrypted: true\n cmkArn: ${dlmCrossRegionCopyCmk.arn}\n copyTags: true\n retainRule:\n interval: 30\n intervalUnit: DAYS\n targetTags:\n Snapshot: 'true'\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n key:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - sid: Enable IAM User Permissions\n effect: Allow\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::${current.accountId}:root\n actions:\n - kms:*\n resources:\n - '*'\n```\n{{% /example %}}\n{{% example %}}\n### Example Event Based Policy Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst exampleLifecyclePolicy = new aws.dlm.LifecyclePolicy(\"exampleLifecyclePolicy\", {\n description: \"tf-acc-basic\",\n executionRoleArn: aws_iam_role.example.arn,\n policyDetails: {\n policyType: \"EVENT_BASED_POLICY\",\n action: {\n name: \"tf-acc-basic\",\n crossRegionCopies: [{\n encryptionConfiguration: {},\n retainRule: {\n interval: 15,\n intervalUnit: \"MONTHS\",\n },\n target: \"us-east-1\",\n }],\n },\n eventSource: {\n type: \"MANAGED_CWE\",\n parameters: {\n descriptionRegex: \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n eventType: \"shareSnapshot\",\n snapshotOwners: [current.then(current =\u003e current.accountId)],\n },\n },\n },\n});\nconst examplePolicy = aws.iam.getPolicy({\n name: \"AWSDataLifecycleManagerServiceRole\",\n});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", {\n role: aws_iam_role.example.id,\n policyArn: examplePolicy.then(examplePolicy =\u003e examplePolicy.arn),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample_lifecycle_policy = aws.dlm.LifecyclePolicy(\"exampleLifecyclePolicy\",\n description=\"tf-acc-basic\",\n execution_role_arn=aws_iam_role[\"example\"][\"arn\"],\n policy_details=aws.dlm.LifecyclePolicyPolicyDetailsArgs(\n policy_type=\"EVENT_BASED_POLICY\",\n action=aws.dlm.LifecyclePolicyPolicyDetailsActionArgs(\n name=\"tf-acc-basic\",\n cross_region_copies=[aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs(\n encryption_configuration=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationArgs(),\n retain_rule=aws.dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs(\n interval=15,\n interval_unit=\"MONTHS\",\n ),\n target=\"us-east-1\",\n )],\n ),\n event_source=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceArgs(\n type=\"MANAGED_CWE\",\n parameters=aws.dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs(\n description_regex=\"^.*Created for policy: policy-1234567890abcdef0.*$\",\n event_type=\"shareSnapshot\",\n snapshot_owners=[current.account_id],\n ),\n ),\n ))\nexample_policy = aws.iam.get_policy(name=\"AWSDataLifecycleManagerServiceRole\")\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\",\n role=aws_iam_role[\"example\"][\"id\"],\n policy_arn=example_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var exampleLifecyclePolicy = new Aws.Dlm.LifecyclePolicy(\"exampleLifecyclePolicy\", new()\n {\n Description = \"tf-acc-basic\",\n ExecutionRoleArn = aws_iam_role.Example.Arn,\n PolicyDetails = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsArgs\n {\n PolicyType = \"EVENT_BASED_POLICY\",\n Action = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionArgs\n {\n Name = \"tf-acc-basic\",\n CrossRegionCopies = new[]\n {\n new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs\n {\n EncryptionConfiguration = null,\n RetainRule = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs\n {\n Interval = 15,\n IntervalUnit = \"MONTHS\",\n },\n Target = \"us-east-1\",\n },\n },\n },\n EventSource = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceArgs\n {\n Type = \"MANAGED_CWE\",\n Parameters = new Aws.Dlm.Inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs\n {\n DescriptionRegex = \"^.*Created for policy: policy-1234567890abcdef0.*$\",\n EventType = \"shareSnapshot\",\n SnapshotOwners = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n },\n },\n },\n });\n\n var examplePolicy = Aws.Iam.GetPolicy.Invoke(new()\n {\n Name = \"AWSDataLifecycleManagerServiceRole\",\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", new()\n {\n Role = aws_iam_role.Example.Id,\n PolicyArn = examplePolicy.Apply(getPolicyResult =\u003e getPolicyResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dlm\"\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\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dlm.NewLifecyclePolicy(ctx, \"exampleLifecyclePolicy\", \u0026dlm.LifecyclePolicyArgs{\n\t\t\tDescription: pulumi.String(\"tf-acc-basic\"),\n\t\t\tExecutionRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tPolicyDetails: \u0026dlm.LifecyclePolicyPolicyDetailsArgs{\n\t\t\t\tPolicyType: pulumi.String(\"EVENT_BASED_POLICY\"),\n\t\t\t\tAction: \u0026dlm.LifecyclePolicyPolicyDetailsActionArgs{\n\t\t\t\t\tName: pulumi.String(\"tf-acc-basic\"),\n\t\t\t\t\tCrossRegionCopies: dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArray{\n\t\t\t\t\t\t\u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs{\n\t\t\t\t\t\t\tEncryptionConfiguration: nil,\n\t\t\t\t\t\t\tRetainRule: \u0026dlm.LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs{\n\t\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t\t\tIntervalUnit: pulumi.String(\"MONTHS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTarget: pulumi.String(\"us-east-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEventSource: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceArgs{\n\t\t\t\t\tType: pulumi.String(\"MANAGED_CWE\"),\n\t\t\t\t\tParameters: \u0026dlm.LifecyclePolicyPolicyDetailsEventSourceParametersArgs{\n\t\t\t\t\t\tDescriptionRegex: pulumi.String(\"^.*Created for policy: policy-1234567890abcdef0.*$\"),\n\t\t\t\t\t\tEventType: pulumi.String(\"shareSnapshot\"),\n\t\t\t\t\t\tSnapshotOwners: pulumi.StringArray{\n\t\t\t\t\t\t\t*pulumi.String(current.AccountId),\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\texamplePolicy, err := iam.LookupPolicy(ctx, \u0026iam.LookupPolicyArgs{\n\t\t\tName: pulumi.StringRef(\"AWSDataLifecycleManagerServiceRole\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"exampleRolePolicyAttachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: pulumi.Any(aws_iam_role.Example.Id),\n\t\t\tPolicyArn: *pulumi.String(examplePolicy.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.dlm.LifecyclePolicy;\nimport com.pulumi.aws.dlm.LifecyclePolicyArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsActionArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceArgs;\nimport com.pulumi.aws.dlm.inputs.LifecyclePolicyPolicyDetailsEventSourceParametersArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var exampleLifecyclePolicy = new LifecyclePolicy(\"exampleLifecyclePolicy\", LifecyclePolicyArgs.builder() \n .description(\"tf-acc-basic\")\n .executionRoleArn(aws_iam_role.example().arn())\n .policyDetails(LifecyclePolicyPolicyDetailsArgs.builder()\n .policyType(\"EVENT_BASED_POLICY\")\n .action(LifecyclePolicyPolicyDetailsActionArgs.builder()\n .name(\"tf-acc-basic\")\n .crossRegionCopies(LifecyclePolicyPolicyDetailsActionCrossRegionCopyArgs.builder()\n .encryptionConfiguration()\n .retainRule(LifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleArgs.builder()\n .interval(15)\n .intervalUnit(\"MONTHS\")\n .build())\n .target(\"us-east-1\")\n .build())\n .build())\n .eventSource(LifecyclePolicyPolicyDetailsEventSourceArgs.builder()\n .type(\"MANAGED_CWE\")\n .parameters(LifecyclePolicyPolicyDetailsEventSourceParametersArgs.builder()\n .descriptionRegex(\"^.*Created for policy: policy-1234567890abcdef0.*$\")\n .eventType(\"shareSnapshot\")\n .snapshotOwners(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build())\n .build())\n .build())\n .build());\n\n final var examplePolicy = IamFunctions.getPolicy(GetPolicyArgs.builder()\n .name(\"AWSDataLifecycleManagerServiceRole\")\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(aws_iam_role.example().id())\n .policyArn(examplePolicy.applyValue(getPolicyResult -\u003e getPolicyResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleLifecyclePolicy:\n type: aws:dlm:LifecyclePolicy\n properties:\n description: tf-acc-basic\n executionRoleArn: ${aws_iam_role.example.arn}\n policyDetails:\n policyType: EVENT_BASED_POLICY\n action:\n name: tf-acc-basic\n crossRegionCopies:\n - encryptionConfiguration: {}\n retainRule:\n interval: 15\n intervalUnit: MONTHS\n target: us-east-1\n eventSource:\n type: MANAGED_CWE\n parameters:\n descriptionRegex: '^.*Created for policy: policy-1234567890abcdef0.*$'\n eventType: shareSnapshot\n snapshotOwners:\n - ${current.accountId}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${aws_iam_role.example.id}\n policyArn: ${examplePolicy.arn}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n examplePolicy:\n fn::invoke:\n Function: aws:iam:getPolicy\n Arguments:\n name: AWSDataLifecycleManagerServiceRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import {\n\n to = aws_dlm_lifecycle_policy.example\n\n id = \"policy-abcdef12345678901\" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 ", "properties": { "arn": { "type": "string", @@ -171002,7 +171287,7 @@ "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" + "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", @@ -171041,7 +171326,7 @@ "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" + "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" } }, "requiredInputs": [ @@ -171077,7 +171362,7 @@ "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" + "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", @@ -183680,7 +183965,7 @@ } }, "aws:ec2/networkInterface:NetworkInterface": { - "description": "Provides an Elastic network interface (ENI) resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInterface(\"test\", {\n subnetId: aws_subnet.public_a.id,\n privateIps: [\"10.0.0.50\"],\n securityGroups: [aws_security_group.web.id],\n attachments: [{\n instance: aws_instance.test.id,\n deviceIndex: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInterface(\"test\",\n subnet_id=aws_subnet[\"public_a\"][\"id\"],\n private_ips=[\"10.0.0.50\"],\n security_groups=[aws_security_group[\"web\"][\"id\"]],\n attachments=[aws.ec2.NetworkInterfaceAttachmentArgs(\n instance=aws_instance[\"test\"][\"id\"],\n device_index=1,\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.Ec2.NetworkInterface(\"test\", new()\n {\n SubnetId = aws_subnet.Public_a.Id,\n PrivateIps = new[]\n {\n \"10.0.0.50\",\n },\n SecurityGroups = new[]\n {\n aws_security_group.Web.Id,\n },\n Attachments = new[]\n {\n new Aws.Ec2.Inputs.NetworkInterfaceAttachmentArgs\n {\n Instance = aws_instance.Test.Id,\n DeviceIndex = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterface(ctx, \"test\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(aws_subnet.Public_a.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.50\"),\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\taws_security_group.Web.Id,\n\t\t\t},\n\t\t\tAttachments: ec2.NetworkInterfaceAttachmentTypeArray{\n\t\t\t\t\u0026ec2.NetworkInterfaceAttachmentTypeArgs{\n\t\t\t\t\tInstance: pulumi.Any(aws_instance.Test.Id),\n\t\t\t\t\tDeviceIndex: pulumi.Int(1),\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.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkInterfaceAttachmentArgs;\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 NetworkInterface(\"test\", NetworkInterfaceArgs.builder() \n .subnetId(aws_subnet.public_a().id())\n .privateIps(\"10.0.0.50\")\n .securityGroups(aws_security_group.web().id())\n .attachments(NetworkInterfaceAttachmentArgs.builder()\n .instance(aws_instance.test().id())\n .deviceIndex(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${aws_subnet.public_a.id}\n privateIps:\n - 10.0.0.50\n securityGroups:\n - ${aws_security_group.web.id}\n attachments:\n - instance: ${aws_instance.test.id}\n deviceIndex: 1\n```\n{{% /example %}}\n### Example of Managing Multiple IPs on a Network Interface\n\nBy default, private IPs are managed through the `private_ips` and `private_ips_count` arguments which manage IPs as a set of IPs that are configured without regard to order. For a new network interface, the same primary IP address is consistently selected from a given set of addresses, regardless of the order provided. However, modifications of the set of addresses of an existing interface will not alter the current primary IP address unless it has been removed from the set.\n\nIn order to manage the private IPs as a sequentially ordered list, configure `private_ip_list_enabled` to `true` and use `private_ip_list` to manage the IPs. This will disable the `private_ips` and `private_ips_count` settings, which must be removed from the config file but are still exported. Note that changing the first address of `private_ip_list`, which is the primary, always requires a new interface.\n\nIf you are managing a specific set or list of IPs, instead of just using `private_ips_count`, this is a potential workflow for also leveraging `private_ips_count` to have AWS automatically assign additional IP addresses:\n\n1. Comment out `private_ips`, `private_ip_list`, `private_ip_list_enabled` in your configuration\n2. Set the desired `private_ips_count` (count of the number of secondaries, the primary is not included)\n3. Apply to assign the extra IPs\n4. Remove `private_ips_count` and restore your settings from the first step\n5. Add the new IPs to your current settings\n6. Apply again to update the stored state\n\nThis process can also be used to remove IP addresses in addition to the option of manually removing them. Adding IP addresses in a manually is more difficult because it requires knowledge of which addresses are available.\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Network Interfaces using the `id`. For example:\n\n```sh\n $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3\n```\n ", + "description": "Provides an Elastic network interface (ENI) resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ec2.NetworkInterface(\"test\", {\n subnetId: aws_subnet.public_a.id,\n privateIps: [\"10.0.0.50\"],\n securityGroups: [aws_security_group.web.id],\n attachments: [{\n instance: aws_instance.test.id,\n deviceIndex: 1,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ec2.NetworkInterface(\"test\",\n subnet_id=aws_subnet[\"public_a\"][\"id\"],\n private_ips=[\"10.0.0.50\"],\n security_groups=[aws_security_group[\"web\"][\"id\"]],\n attachments=[aws.ec2.NetworkInterfaceAttachmentArgs(\n instance=aws_instance[\"test\"][\"id\"],\n device_index=1,\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.Ec2.NetworkInterface(\"test\", new()\n {\n SubnetId = aws_subnet.Public_a.Id,\n PrivateIps = new[]\n {\n \"10.0.0.50\",\n },\n SecurityGroups = new[]\n {\n aws_security_group.Web.Id,\n },\n Attachments = new[]\n {\n new Aws.Ec2.Inputs.NetworkInterfaceAttachmentArgs\n {\n Instance = aws_instance.Test.Id,\n DeviceIndex = 1,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewNetworkInterface(ctx, \"test\", \u0026ec2.NetworkInterfaceArgs{\n\t\t\tSubnetId: pulumi.Any(aws_subnet.Public_a.Id),\n\t\t\tPrivateIps: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.50\"),\n\t\t\t},\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\taws_security_group.Web.Id,\n\t\t\t},\n\t\t\tAttachments: ec2.NetworkInterfaceAttachmentTypeArray{\n\t\t\t\t\u0026ec2.NetworkInterfaceAttachmentTypeArgs{\n\t\t\t\t\tInstance: pulumi.Any(aws_instance.Test.Id),\n\t\t\t\t\tDeviceIndex: pulumi.Int(1),\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.ec2.NetworkInterface;\nimport com.pulumi.aws.ec2.NetworkInterfaceArgs;\nimport com.pulumi.aws.ec2.inputs.NetworkInterfaceAttachmentArgs;\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 NetworkInterface(\"test\", NetworkInterfaceArgs.builder() \n .subnetId(aws_subnet.public_a().id())\n .privateIps(\"10.0.0.50\")\n .securityGroups(aws_security_group.web().id())\n .attachments(NetworkInterfaceAttachmentArgs.builder()\n .instance(aws_instance.test().id())\n .deviceIndex(1)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ec2:NetworkInterface\n properties:\n subnetId: ${aws_subnet.public_a.id}\n privateIps:\n - 10.0.0.50\n securityGroups:\n - ${aws_security_group.web.id}\n attachments:\n - instance: ${aws_instance.test.id}\n deviceIndex: 1\n```\n{{% /example %}}\n### Example of Managing Multiple IPs on a Network Interface\n\nBy default, private IPs are managed through the `private_ips` and `private_ips_count` arguments which manage IPs as a set of IPs that are configured without regard to order. For a new network interface, the same primary IP address is consistently selected from a given set of addresses, regardless of the order provided. However, modifications of the set of addresses of an existing interface will not alter the current primary IP address unless it has been removed from the set.\n\nIn order to manage the private IPs as a sequentially ordered list, configure `private_ip_list_enabled` to `true` and use `private_ip_list` to manage the IPs. This will disable the `private_ips` and `private_ips_count` settings, which must be removed from the config file but are still exported. Note that changing the first address of `private_ip_list`, which is the primary, always requires a new interface.\n\nIf you are managing a specific set or list of IPs, instead of just using `private_ips_count`, this is a potential workflow for also leveraging `private_ips_count` to have AWS automatically assign additional IP addresses:\n\n1. Comment out `private_ips`, `private_ip_list`, `private_ip_list_enabled` in your configuration\n2. Set the desired `private_ips_count` (count of the number of secondaries, the primary is not included)\n3. Apply to assign the extra IPs\n4. Remove `private_ips_count` and restore your settings from the first step\n5. Add the new IPs to your current settings\n6. Apply again to update the stored state\n\nThis process can also be used to remove IP addresses in addition to the option of manually removing them. Adding IP addresses in a manually is more difficult because it requires knowledge of which addresses are available.\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import {\n\n to = aws_network_interface.test\n\n id = \"eni-e5aa89a3\" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 ", "properties": { "arn": { "type": "string", @@ -199341,6 +199626,10 @@ "type": "string" }, "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, + "transitEncryptionEnabled": { + "type": "boolean", + "description": "Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.\n" } }, "required": [ @@ -199504,6 +199793,11 @@ "type": "string" }, "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "transitEncryptionEnabled": { + "type": "boolean", + "description": "Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.\n", + "willReplaceOnChanges": true } }, "stateInputs": { @@ -199673,6 +199967,11 @@ "type": "string" }, "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, + "transitEncryptionEnabled": { + "type": "boolean", + "description": "Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.\n", + "willReplaceOnChanges": true } }, "type": "object" @@ -204942,7 +205241,7 @@ } }, "aws:emrcontainers/jobTemplate:JobTemplate": { - "description": "Manages an EMR Containers (EMR on EKS) Job Template.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.JobTemplate(\"example\", {jobTemplateData: {\n executionRoleArn: aws_iam_role.example.arn,\n releaseLabel: \"emr-6.10.0-latest\",\n jobDriver: {\n sparkSqlJobDriver: {\n entryPoint: \"default\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.JobTemplate(\"example\", job_template_data=aws.emrcontainers.JobTemplateJobTemplateDataArgs(\n execution_role_arn=aws_iam_role[\"example\"][\"arn\"],\n release_label=\"emr-6.10.0-latest\",\n job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverArgs(\n spark_sql_job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs(\n entry_point=\"default\",\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.EmrContainers.JobTemplate(\"example\", new()\n {\n JobTemplateData = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataArgs\n {\n ExecutionRoleArn = aws_iam_role.Example.Arn,\n ReleaseLabel = \"emr-6.10.0-latest\",\n JobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverArgs\n {\n SparkSqlJobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs\n {\n EntryPoint = \"default\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\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 := emrcontainers.NewJobTemplate(ctx, \"example\", \u0026emrcontainers.JobTemplateArgs{\n\t\t\tJobTemplateData: \u0026emrcontainers.JobTemplateJobTemplateDataArgs{\n\t\t\t\tExecutionRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\t\tReleaseLabel: pulumi.String(\"emr-6.10.0-latest\"),\n\t\t\t\tJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverArgs{\n\t\t\t\t\tSparkSqlJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs{\n\t\t\t\t\t\tEntryPoint: pulumi.String(\"default\"),\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.emrcontainers.JobTemplate;\nimport com.pulumi.aws.emrcontainers.JobTemplateArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs;\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 JobTemplate(\"example\", JobTemplateArgs.builder() \n .jobTemplateData(JobTemplateJobTemplateDataArgs.builder()\n .executionRoleArn(aws_iam_role.example().arn())\n .releaseLabel(\"emr-6.10.0-latest\")\n .jobDriver(JobTemplateJobTemplateDataJobDriverArgs.builder()\n .sparkSqlJobDriver(JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs.builder()\n .entryPoint(\"default\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:JobTemplate\n properties:\n jobTemplateData:\n executionRoleArn: ${aws_iam_role.example.arn}\n releaseLabel: emr-6.10.0-latest\n jobDriver:\n sparkSqlJobDriver:\n entryPoint: default\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import EKS job templates using the `id`. For example:\n\n```sh\n $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l\n```\n ", + "description": "Manages an EMR Containers (EMR on EKS) Job Template.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.JobTemplate(\"example\", {jobTemplateData: {\n executionRoleArn: aws_iam_role.example.arn,\n releaseLabel: \"emr-6.10.0-latest\",\n jobDriver: {\n sparkSqlJobDriver: {\n entryPoint: \"default\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.JobTemplate(\"example\", job_template_data=aws.emrcontainers.JobTemplateJobTemplateDataArgs(\n execution_role_arn=aws_iam_role[\"example\"][\"arn\"],\n release_label=\"emr-6.10.0-latest\",\n job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverArgs(\n spark_sql_job_driver=aws.emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs(\n entry_point=\"default\",\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.EmrContainers.JobTemplate(\"example\", new()\n {\n JobTemplateData = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataArgs\n {\n ExecutionRoleArn = aws_iam_role.Example.Arn,\n ReleaseLabel = \"emr-6.10.0-latest\",\n JobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverArgs\n {\n SparkSqlJobDriver = new Aws.EmrContainers.Inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs\n {\n EntryPoint = \"default\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\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 := emrcontainers.NewJobTemplate(ctx, \"example\", \u0026emrcontainers.JobTemplateArgs{\n\t\t\tJobTemplateData: \u0026emrcontainers.JobTemplateJobTemplateDataArgs{\n\t\t\t\tExecutionRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\t\tReleaseLabel: pulumi.String(\"emr-6.10.0-latest\"),\n\t\t\t\tJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverArgs{\n\t\t\t\t\tSparkSqlJobDriver: \u0026emrcontainers.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs{\n\t\t\t\t\t\tEntryPoint: pulumi.String(\"default\"),\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.emrcontainers.JobTemplate;\nimport com.pulumi.aws.emrcontainers.JobTemplateArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverArgs;\nimport com.pulumi.aws.emrcontainers.inputs.JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs;\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 JobTemplate(\"example\", JobTemplateArgs.builder() \n .jobTemplateData(JobTemplateJobTemplateDataArgs.builder()\n .executionRoleArn(aws_iam_role.example().arn())\n .releaseLabel(\"emr-6.10.0-latest\")\n .jobDriver(JobTemplateJobTemplateDataJobDriverArgs.builder()\n .sparkSqlJobDriver(JobTemplateJobTemplateDataJobDriverSparkSqlJobDriverArgs.builder()\n .entryPoint(\"default\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:JobTemplate\n properties:\n jobTemplateData:\n executionRoleArn: ${aws_iam_role.example.arn}\n releaseLabel: emr-6.10.0-latest\n jobDriver:\n sparkSqlJobDriver:\n entryPoint: default\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import {\n\n to = aws_emrcontainers_job_template.example\n\n id = \"a1b2c3d4e5f6g7h8i9j10k11l\" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l ", "properties": { "arn": { "type": "string", @@ -205051,7 +205350,7 @@ } }, "aws:emrcontainers/virtualCluster:VirtualCluster": { - "description": "Manages an EMR Containers (EMR on EKS) Virtual Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.VirtualCluster(\"example\", {containerProvider: {\n id: aws_eks_cluster.example.name,\n type: \"EKS\",\n info: {\n eksInfo: {\n namespace: \"default\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.VirtualCluster(\"example\", container_provider=aws.emrcontainers.VirtualClusterContainerProviderArgs(\n id=aws_eks_cluster[\"example\"][\"name\"],\n type=\"EKS\",\n info=aws.emrcontainers.VirtualClusterContainerProviderInfoArgs(\n eks_info=aws.emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs(\n namespace=\"default\",\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.EmrContainers.VirtualCluster(\"example\", new()\n {\n ContainerProvider = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderArgs\n {\n Id = aws_eks_cluster.Example.Name,\n Type = \"EKS\",\n Info = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoArgs\n {\n EksInfo = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoEksInfoArgs\n {\n Namespace = \"default\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\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 := emrcontainers.NewVirtualCluster(ctx, \"example\", \u0026emrcontainers.VirtualClusterArgs{\n\t\t\tContainerProvider: \u0026emrcontainers.VirtualClusterContainerProviderArgs{\n\t\t\t\tId: pulumi.Any(aws_eks_cluster.Example.Name),\n\t\t\t\tType: pulumi.String(\"EKS\"),\n\t\t\t\tInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoArgs{\n\t\t\t\t\tEksInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs{\n\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\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.emrcontainers.VirtualCluster;\nimport com.pulumi.aws.emrcontainers.VirtualClusterArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoEksInfoArgs;\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 VirtualCluster(\"example\", VirtualClusterArgs.builder() \n .containerProvider(VirtualClusterContainerProviderArgs.builder()\n .id(aws_eks_cluster.example().name())\n .type(\"EKS\")\n .info(VirtualClusterContainerProviderInfoArgs.builder()\n .eksInfo(VirtualClusterContainerProviderInfoEksInfoArgs.builder()\n .namespace(\"default\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:VirtualCluster\n properties:\n containerProvider:\n id: ${aws_eks_cluster.example.name}\n type: EKS\n info:\n eksInfo:\n namespace: default\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import EKS Clusters using the `id`. For example:\n\n```sh\n $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l\n```\n ", + "description": "Manages an EMR Containers (EMR on EKS) Virtual Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrcontainers.VirtualCluster(\"example\", {containerProvider: {\n id: aws_eks_cluster.example.name,\n type: \"EKS\",\n info: {\n eksInfo: {\n namespace: \"default\",\n },\n },\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrcontainers.VirtualCluster(\"example\", container_provider=aws.emrcontainers.VirtualClusterContainerProviderArgs(\n id=aws_eks_cluster[\"example\"][\"name\"],\n type=\"EKS\",\n info=aws.emrcontainers.VirtualClusterContainerProviderInfoArgs(\n eks_info=aws.emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs(\n namespace=\"default\",\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.EmrContainers.VirtualCluster(\"example\", new()\n {\n ContainerProvider = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderArgs\n {\n Id = aws_eks_cluster.Example.Name,\n Type = \"EKS\",\n Info = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoArgs\n {\n EksInfo = new Aws.EmrContainers.Inputs.VirtualClusterContainerProviderInfoEksInfoArgs\n {\n Namespace = \"default\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrcontainers\"\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 := emrcontainers.NewVirtualCluster(ctx, \"example\", \u0026emrcontainers.VirtualClusterArgs{\n\t\t\tContainerProvider: \u0026emrcontainers.VirtualClusterContainerProviderArgs{\n\t\t\t\tId: pulumi.Any(aws_eks_cluster.Example.Name),\n\t\t\t\tType: pulumi.String(\"EKS\"),\n\t\t\t\tInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoArgs{\n\t\t\t\t\tEksInfo: \u0026emrcontainers.VirtualClusterContainerProviderInfoEksInfoArgs{\n\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\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.emrcontainers.VirtualCluster;\nimport com.pulumi.aws.emrcontainers.VirtualClusterArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoArgs;\nimport com.pulumi.aws.emrcontainers.inputs.VirtualClusterContainerProviderInfoEksInfoArgs;\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 VirtualCluster(\"example\", VirtualClusterArgs.builder() \n .containerProvider(VirtualClusterContainerProviderArgs.builder()\n .id(aws_eks_cluster.example().name())\n .type(\"EKS\")\n .info(VirtualClusterContainerProviderInfoArgs.builder()\n .eksInfo(VirtualClusterContainerProviderInfoEksInfoArgs.builder()\n .namespace(\"default\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrcontainers:VirtualCluster\n properties:\n containerProvider:\n id: ${aws_eks_cluster.example.name}\n type: EKS\n info:\n eksInfo:\n namespace: default\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import {\n\n to = aws_emrcontainers_virtual_cluster.example\n\n id = \"a1b2c3d4e5f6g7h8i9j10k11l\" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l ", "properties": { "arn": { "type": "string", @@ -205070,7 +205369,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level\n" + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", @@ -205102,7 +205401,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level\n" + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" } }, "requiredInputs": [ @@ -205130,7 +205429,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level\n" + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", @@ -205144,7 +205443,7 @@ } }, "aws:emrserverless/application:Application": { - "description": "Manages an EMR Serverless Application.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\")\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.EmrServerless.Application(\"example\", new()\n {\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\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 := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\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 Application(\"example\", ApplicationArgs.builder() \n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n releaseLabel: emr-6.6.0\n type: hive\n```\n{{% /example %}}\n{{% example %}}\n### Initial Capacity Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n initialCapacities: [{\n initialCapacityConfig: {\n workerConfiguration: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n workerCount: 1,\n },\n initialCapacityType: \"HiveDriver\",\n }],\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n initial_capacities=[aws.emrserverless.ApplicationInitialCapacityArgs(\n initial_capacity_config=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs(\n worker_configuration=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ),\n worker_count=1,\n ),\n initial_capacity_type=\"HiveDriver\",\n )],\n release_label=\"emr-6.6.0\",\n type=\"hive\")\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.EmrServerless.Application(\"example\", new()\n {\n InitialCapacities = new[]\n {\n new Aws.EmrServerless.Inputs.ApplicationInitialCapacityArgs\n {\n InitialCapacityConfig = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigArgs\n {\n WorkerConfiguration = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n WorkerCount = 1,\n },\n InitialCapacityType = \"HiveDriver\",\n },\n },\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\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 := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tInitialCapacities: emrserverless.ApplicationInitialCapacityArray{\n\t\t\t\t\u0026emrserverless.ApplicationInitialCapacityArgs{\n\t\t\t\t\tInitialCapacityConfig: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs{\n\t\t\t\t\t\tWorkerConfiguration: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs{\n\t\t\t\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\t\t\t\tMemory: pulumi.String(\"10 GB\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tWorkerCount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\tInitialCapacityType: pulumi.String(\"HiveDriver\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs;\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 Application(\"example\", ApplicationArgs.builder() \n .initialCapacities(ApplicationInitialCapacityArgs.builder()\n .initialCapacityConfig(ApplicationInitialCapacityInitialCapacityConfigArgs.builder()\n .workerConfiguration(ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .workerCount(1)\n .build())\n .initialCapacityType(\"HiveDriver\")\n .build())\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n initialCapacities:\n - initialCapacityConfig:\n workerConfiguration:\n cpu: 2 vCPU\n memory: 10 GB\n workerCount: 1\n initialCapacityType: HiveDriver\n releaseLabel: emr-6.6.0\n type: hive\n```\n{{% /example %}}\n{{% example %}}\n### Maximum Capacity Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n maximumCapacity: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n maximum_capacity=aws.emrserverless.ApplicationMaximumCapacityArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ),\n release_label=\"emr-6.6.0\",\n type=\"hive\")\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.EmrServerless.Application(\"example\", new()\n {\n MaximumCapacity = new Aws.EmrServerless.Inputs.ApplicationMaximumCapacityArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\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 := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tMaximumCapacity: \u0026emrserverless.ApplicationMaximumCapacityArgs{\n\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\tMemory: pulumi.String(\"10 GB\"),\n\t\t\t},\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationMaximumCapacityArgs;\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 Application(\"example\", ApplicationArgs.builder() \n .maximumCapacity(ApplicationMaximumCapacityArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n maximumCapacity:\n cpu: 2 vCPU\n memory: 10 GB\n releaseLabel: emr-6.6.0\n type: hive\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import EMR Severless applications using the `id`. For example:\n\n```sh\n $ pulumi import aws:emrserverless/application:Application example id\n```\n ", + "description": "Manages an EMR Serverless Application.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n release_label=\"emr-6.6.0\",\n type=\"hive\")\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.EmrServerless.Application(\"example\", new()\n {\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\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 := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\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 Application(\"example\", ApplicationArgs.builder() \n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n releaseLabel: emr-6.6.0\n type: hive\n```\n{{% /example %}}\n{{% example %}}\n### Initial Capacity Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n initialCapacities: [{\n initialCapacityConfig: {\n workerConfiguration: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n workerCount: 1,\n },\n initialCapacityType: \"HiveDriver\",\n }],\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n initial_capacities=[aws.emrserverless.ApplicationInitialCapacityArgs(\n initial_capacity_config=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs(\n worker_configuration=aws.emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ),\n worker_count=1,\n ),\n initial_capacity_type=\"HiveDriver\",\n )],\n release_label=\"emr-6.6.0\",\n type=\"hive\")\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.EmrServerless.Application(\"example\", new()\n {\n InitialCapacities = new[]\n {\n new Aws.EmrServerless.Inputs.ApplicationInitialCapacityArgs\n {\n InitialCapacityConfig = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigArgs\n {\n WorkerConfiguration = new Aws.EmrServerless.Inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n WorkerCount = 1,\n },\n InitialCapacityType = \"HiveDriver\",\n },\n },\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\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 := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tInitialCapacities: emrserverless.ApplicationInitialCapacityArray{\n\t\t\t\t\u0026emrserverless.ApplicationInitialCapacityArgs{\n\t\t\t\t\tInitialCapacityConfig: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigArgs{\n\t\t\t\t\t\tWorkerConfiguration: \u0026emrserverless.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs{\n\t\t\t\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\t\t\t\tMemory: pulumi.String(\"10 GB\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tWorkerCount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t\tInitialCapacityType: pulumi.String(\"HiveDriver\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs;\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 Application(\"example\", ApplicationArgs.builder() \n .initialCapacities(ApplicationInitialCapacityArgs.builder()\n .initialCapacityConfig(ApplicationInitialCapacityInitialCapacityConfigArgs.builder()\n .workerConfiguration(ApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .workerCount(1)\n .build())\n .initialCapacityType(\"HiveDriver\")\n .build())\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n initialCapacities:\n - initialCapacityConfig:\n workerConfiguration:\n cpu: 2 vCPU\n memory: 10 GB\n workerCount: 1\n initialCapacityType: HiveDriver\n releaseLabel: emr-6.6.0\n type: hive\n```\n{{% /example %}}\n{{% example %}}\n### Maximum Capacity Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.emrserverless.Application(\"example\", {\n maximumCapacity: {\n cpu: \"2 vCPU\",\n memory: \"10 GB\",\n },\n releaseLabel: \"emr-6.6.0\",\n type: \"hive\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.emrserverless.Application(\"example\",\n maximum_capacity=aws.emrserverless.ApplicationMaximumCapacityArgs(\n cpu=\"2 vCPU\",\n memory=\"10 GB\",\n ),\n release_label=\"emr-6.6.0\",\n type=\"hive\")\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.EmrServerless.Application(\"example\", new()\n {\n MaximumCapacity = new Aws.EmrServerless.Inputs.ApplicationMaximumCapacityArgs\n {\n Cpu = \"2 vCPU\",\n Memory = \"10 GB\",\n },\n ReleaseLabel = \"emr-6.6.0\",\n Type = \"hive\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emrserverless\"\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 := emrserverless.NewApplication(ctx, \"example\", \u0026emrserverless.ApplicationArgs{\n\t\t\tMaximumCapacity: \u0026emrserverless.ApplicationMaximumCapacityArgs{\n\t\t\t\tCpu: pulumi.String(\"2 vCPU\"),\n\t\t\t\tMemory: pulumi.String(\"10 GB\"),\n\t\t\t},\n\t\t\tReleaseLabel: pulumi.String(\"emr-6.6.0\"),\n\t\t\tType: pulumi.String(\"hive\"),\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.emrserverless.Application;\nimport com.pulumi.aws.emrserverless.ApplicationArgs;\nimport com.pulumi.aws.emrserverless.inputs.ApplicationMaximumCapacityArgs;\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 Application(\"example\", ApplicationArgs.builder() \n .maximumCapacity(ApplicationMaximumCapacityArgs.builder()\n .cpu(\"2 vCPU\")\n .memory(\"10 GB\")\n .build())\n .releaseLabel(\"emr-6.6.0\")\n .type(\"hive\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:emrserverless:Application\n properties:\n maximumCapacity:\n cpu: 2 vCPU\n memory: 10 GB\n releaseLabel: emr-6.6.0\n type: hive\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import {\n\n to = aws_emrserverless_application.example\n\n id = \"id\" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id ", "properties": { "architecture": { "type": "string", @@ -205194,7 +205493,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level\n" + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", @@ -205265,7 +205564,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level\n" + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "type": { "type": "string", @@ -205329,7 +205628,7 @@ "additionalProperties": { "type": "string" }, - "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level\n" + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "tagsAll": { "type": "object", @@ -209774,7 +210073,7 @@ }, "auditLogConfiguration": { "$ref": "#/types/aws:fsx/WindowsFileSystemAuditLogConfiguration:WindowsFileSystemAuditLogConfiguration", - "description": "The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below.\n" + "description": "The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below.\n" }, "automaticBackupRetentionDays": { "type": "integer", @@ -209796,6 +210095,10 @@ "type": "string", "description": "Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.\n" }, + "diskIopsConfiguration": { + "$ref": "#/types/aws:fsx/WindowsFileSystemDiskIopsConfiguration:WindowsFileSystemDiskIopsConfiguration", + "description": "The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below.\n" + }, "dnsName": { "type": "string", "description": "DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name)\n" @@ -209836,7 +210139,7 @@ }, "selfManagedActiveDirectory": { "$ref": "#/types/aws:fsx/WindowsFileSystemSelfManagedActiveDirectory:WindowsFileSystemSelfManagedActiveDirectory", - "description": "Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below.\n" + "description": "Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below.\n" }, "skipFinalBackup": { "type": "boolean", @@ -209888,6 +210191,7 @@ "arn", "auditLogConfiguration", "dailyAutomaticBackupStartTime", + "diskIopsConfiguration", "dnsName", "kmsKeyId", "networkInterfaceIds", @@ -209917,7 +210221,7 @@ }, "auditLogConfiguration": { "$ref": "#/types/aws:fsx/WindowsFileSystemAuditLogConfiguration:WindowsFileSystemAuditLogConfiguration", - "description": "The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below.\n" + "description": "The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below.\n" }, "automaticBackupRetentionDays": { "type": "integer", @@ -209942,6 +210246,10 @@ "description": "Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.\n", "willReplaceOnChanges": true }, + "diskIopsConfiguration": { + "$ref": "#/types/aws:fsx/WindowsFileSystemDiskIopsConfiguration:WindowsFileSystemDiskIopsConfiguration", + "description": "The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below.\n" + }, "kmsKeyId": { "type": "string", "description": "ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key.\n", @@ -209962,7 +210270,7 @@ }, "selfManagedActiveDirectory": { "$ref": "#/types/aws:fsx/WindowsFileSystemSelfManagedActiveDirectory:WindowsFileSystemSelfManagedActiveDirectory", - "description": "Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below.\n" + "description": "Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below.\n" }, "skipFinalBackup": { "type": "boolean", @@ -210026,7 +210334,7 @@ }, "auditLogConfiguration": { "$ref": "#/types/aws:fsx/WindowsFileSystemAuditLogConfiguration:WindowsFileSystemAuditLogConfiguration", - "description": "The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below.\n" + "description": "The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below.\n" }, "automaticBackupRetentionDays": { "type": "integer", @@ -210051,6 +210359,10 @@ "description": "Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`.\n", "willReplaceOnChanges": true }, + "diskIopsConfiguration": { + "$ref": "#/types/aws:fsx/WindowsFileSystemDiskIopsConfiguration:WindowsFileSystemDiskIopsConfiguration", + "description": "The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below.\n" + }, "dnsName": { "type": "string", "description": "DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name)\n" @@ -210094,7 +210406,7 @@ }, "selfManagedActiveDirectory": { "$ref": "#/types/aws:fsx/WindowsFileSystemSelfManagedActiveDirectory:WindowsFileSystemSelfManagedActiveDirectory", - "description": "Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below.\n" + "description": "Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below.\n" }, "skipFinalBackup": { "type": "boolean", @@ -210662,7 +210974,7 @@ } }, "aws:gamelift/gameServerGroup:GameServerGroup": { - "description": "Provides an GameLift Game Server Group resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n gameServerGroupName: \"example\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n },\n {\n instanceType: \"c5a.large\",\n },\n ],\n launchTemplate: {\n id: aws_launch_template.example.id,\n },\n maxSize: 1,\n minSize: 1,\n roleArn: aws_iam_role.example.arn,\n}, {\n dependsOn: [aws_iam_role_policy_attachment.example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n game_server_group_name=\"example\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5a.large\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=aws_launch_template[\"example\"][\"id\"],\n ),\n max_size=1,\n min_size=1,\n role_arn=aws_iam_role[\"example\"][\"arn\"],\n opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy_attachment[\"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 example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n GameServerGroupName = \"example\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5a.large\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = aws_launch_template.Example.Id,\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = aws_iam_role.Example.Arn,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n aws_iam_role_policy_attachment.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5a.large\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(aws_launch_template.Example.Id),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\taws_iam_role_policy_attachment.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\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 GameServerGroup(\"example\", GameServerGroupArgs.builder() \n .gameServerGroupName(\"example\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5a.large\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(aws_launch_template.example().id())\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(aws_iam_role.example().arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(aws_iam_role_policy_attachment.example())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n gameServerGroupName: example\n instanceDefinitions:\n - instanceType: c5.large\n - instanceType: c5a.large\n launchTemplate:\n id: ${aws_launch_template.example.id}\n maxSize: 1\n minSize: 1\n roleArn: ${aws_iam_role.example.arn}\n options:\n dependson:\n - ${aws_iam_role_policy_attachment.example}\n```\n\nFull usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n autoScalingPolicy: {\n estimatedInstanceWarmup: 60,\n targetTrackingConfiguration: {\n targetValue: 75,\n },\n },\n balancingStrategy: \"SPOT_ONLY\",\n gameServerGroupName: \"example\",\n gameServerProtectionPolicy: \"FULL_PROTECTION\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n weightedCapacity: \"1\",\n },\n {\n instanceType: \"c5.2xlarge\",\n weightedCapacity: \"2\",\n },\n ],\n launchTemplate: {\n id: aws_launch_template.example.id,\n version: \"1\",\n },\n maxSize: 1,\n minSize: 1,\n roleArn: aws_iam_role.example.arn,\n tags: {\n Name: \"example\",\n },\n vpcSubnets: [\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n}, {\n dependsOn: [aws_iam_role_policy_attachment.example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n auto_scaling_policy=aws.gamelift.GameServerGroupAutoScalingPolicyArgs(\n estimated_instance_warmup=60,\n target_tracking_configuration=aws.gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs(\n target_value=75,\n ),\n ),\n balancing_strategy=\"SPOT_ONLY\",\n game_server_group_name=\"example\",\n game_server_protection_policy=\"FULL_PROTECTION\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n weighted_capacity=\"1\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.2xlarge\",\n weighted_capacity=\"2\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=aws_launch_template[\"example\"][\"id\"],\n version=\"1\",\n ),\n max_size=1,\n min_size=1,\n role_arn=aws_iam_role[\"example\"][\"arn\"],\n tags={\n \"Name\": \"example\",\n },\n vpc_subnets=[\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy_attachment[\"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 example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs\n {\n EstimatedInstanceWarmup = 60,\n TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 75,\n },\n },\n BalancingStrategy = \"SPOT_ONLY\",\n GameServerGroupName = \"example\",\n GameServerProtectionPolicy = \"FULL_PROTECTION\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n WeightedCapacity = \"1\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.2xlarge\",\n WeightedCapacity = \"2\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = aws_launch_template.Example.Id,\n Version = \"1\",\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = aws_iam_role.Example.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n VpcSubnets = new[]\n {\n \"subnet-12345678\",\n \"subnet-23456789\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n aws_iam_role_policy_attachment.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tAutoScalingPolicy: \u0026gamelift.GameServerGroupAutoScalingPolicyArgs{\n\t\t\t\tEstimatedInstanceWarmup: pulumi.Int(60),\n\t\t\t\tTargetTrackingConfiguration: \u0026gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBalancingStrategy: pulumi.String(\"SPOT_ONLY\"),\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tGameServerProtectionPolicy: pulumi.String(\"FULL_PROTECTION\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(aws_launch_template.Example.Id),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tVpcSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-23456789\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\taws_iam_role_policy_attachment.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\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 GameServerGroup(\"example\", GameServerGroupArgs.builder() \n .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()\n .estimatedInstanceWarmup(60)\n .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(75)\n .build())\n .build())\n .balancingStrategy(\"SPOT_ONLY\")\n .gameServerGroupName(\"example\")\n .gameServerProtectionPolicy(\"FULL_PROTECTION\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .weightedCapacity(\"1\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.2xlarge\")\n .weightedCapacity(\"2\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(aws_launch_template.example().id())\n .version(\"1\")\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(aws_iam_role.example().arn())\n .tags(Map.of(\"Name\", \"example\"))\n .vpcSubnets( \n \"subnet-12345678\",\n \"subnet-23456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(aws_iam_role_policy_attachment.example())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n autoScalingPolicy:\n estimatedInstanceWarmup: 60\n targetTrackingConfiguration:\n targetValue: 75\n balancingStrategy: SPOT_ONLY\n gameServerGroupName: example\n gameServerProtectionPolicy: FULL_PROTECTION\n instanceDefinitions:\n - instanceType: c5.large\n weightedCapacity: '1'\n - instanceType: c5.2xlarge\n weightedCapacity: '2'\n launchTemplate:\n id: ${aws_launch_template.example.id}\n version: '1'\n maxSize: 1\n minSize: 1\n roleArn: ${aws_iam_role.example.arn}\n tags:\n Name: example\n vpcSubnets:\n - subnet-12345678\n - subnet-23456789\n options:\n dependson:\n - ${aws_iam_role_policy_attachment.example}\n```\n{{% /example %}}\n{{% example %}}\n### Example IAM Role for GameLift Game Server Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", {\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=assume_role.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\",\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", new()\n {\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"autoscaling.amazonaws.com\",\n\t\t\t\t\t\t\t\t\"gamelift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"exampleRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"exampleRolePolicyAttachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.Partition)),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(String.format(\"arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\n role: ${exampleRole.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - autoscaling.amazonaws.com\n - gamelift.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import GameLift Game Server Group using the `name`. For example:\n\n```sh\n $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example\n```\n ", + "description": "Provides an GameLift Game Server Group resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n gameServerGroupName: \"example\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n },\n {\n instanceType: \"c5a.large\",\n },\n ],\n launchTemplate: {\n id: aws_launch_template.example.id,\n },\n maxSize: 1,\n minSize: 1,\n roleArn: aws_iam_role.example.arn,\n}, {\n dependsOn: [aws_iam_role_policy_attachment.example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n game_server_group_name=\"example\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5a.large\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=aws_launch_template[\"example\"][\"id\"],\n ),\n max_size=1,\n min_size=1,\n role_arn=aws_iam_role[\"example\"][\"arn\"],\n opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy_attachment[\"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 example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n GameServerGroupName = \"example\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5a.large\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = aws_launch_template.Example.Id,\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = aws_iam_role.Example.Arn,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n aws_iam_role_policy_attachment.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5a.large\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(aws_launch_template.Example.Id),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\taws_iam_role_policy_attachment.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\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 GameServerGroup(\"example\", GameServerGroupArgs.builder() \n .gameServerGroupName(\"example\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5a.large\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(aws_launch_template.example().id())\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(aws_iam_role.example().arn())\n .build(), CustomResourceOptions.builder()\n .dependsOn(aws_iam_role_policy_attachment.example())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n gameServerGroupName: example\n instanceDefinitions:\n - instanceType: c5.large\n - instanceType: c5a.large\n launchTemplate:\n id: ${aws_launch_template.example.id}\n maxSize: 1\n minSize: 1\n roleArn: ${aws_iam_role.example.arn}\n options:\n dependson:\n - ${aws_iam_role_policy_attachment.example}\n```\n\nFull usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.gamelift.GameServerGroup(\"example\", {\n autoScalingPolicy: {\n estimatedInstanceWarmup: 60,\n targetTrackingConfiguration: {\n targetValue: 75,\n },\n },\n balancingStrategy: \"SPOT_ONLY\",\n gameServerGroupName: \"example\",\n gameServerProtectionPolicy: \"FULL_PROTECTION\",\n instanceDefinitions: [\n {\n instanceType: \"c5.large\",\n weightedCapacity: \"1\",\n },\n {\n instanceType: \"c5.2xlarge\",\n weightedCapacity: \"2\",\n },\n ],\n launchTemplate: {\n id: aws_launch_template.example.id,\n version: \"1\",\n },\n maxSize: 1,\n minSize: 1,\n roleArn: aws_iam_role.example.arn,\n tags: {\n Name: \"example\",\n },\n vpcSubnets: [\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n}, {\n dependsOn: [aws_iam_role_policy_attachment.example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.gamelift.GameServerGroup(\"example\",\n auto_scaling_policy=aws.gamelift.GameServerGroupAutoScalingPolicyArgs(\n estimated_instance_warmup=60,\n target_tracking_configuration=aws.gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs(\n target_value=75,\n ),\n ),\n balancing_strategy=\"SPOT_ONLY\",\n game_server_group_name=\"example\",\n game_server_protection_policy=\"FULL_PROTECTION\",\n instance_definitions=[\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.large\",\n weighted_capacity=\"1\",\n ),\n aws.gamelift.GameServerGroupInstanceDefinitionArgs(\n instance_type=\"c5.2xlarge\",\n weighted_capacity=\"2\",\n ),\n ],\n launch_template=aws.gamelift.GameServerGroupLaunchTemplateArgs(\n id=aws_launch_template[\"example\"][\"id\"],\n version=\"1\",\n ),\n max_size=1,\n min_size=1,\n role_arn=aws_iam_role[\"example\"][\"arn\"],\n tags={\n \"Name\": \"example\",\n },\n vpc_subnets=[\n \"subnet-12345678\",\n \"subnet-23456789\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[aws_iam_role_policy_attachment[\"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 example = new Aws.GameLift.GameServerGroup(\"example\", new()\n {\n AutoScalingPolicy = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyArgs\n {\n EstimatedInstanceWarmup = 60,\n TargetTrackingConfiguration = new Aws.GameLift.Inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs\n {\n TargetValue = 75,\n },\n },\n BalancingStrategy = \"SPOT_ONLY\",\n GameServerGroupName = \"example\",\n GameServerProtectionPolicy = \"FULL_PROTECTION\",\n InstanceDefinitions = new[]\n {\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.large\",\n WeightedCapacity = \"1\",\n },\n new Aws.GameLift.Inputs.GameServerGroupInstanceDefinitionArgs\n {\n InstanceType = \"c5.2xlarge\",\n WeightedCapacity = \"2\",\n },\n },\n LaunchTemplate = new Aws.GameLift.Inputs.GameServerGroupLaunchTemplateArgs\n {\n Id = aws_launch_template.Example.Id,\n Version = \"1\",\n },\n MaxSize = 1,\n MinSize = 1,\n RoleArn = aws_iam_role.Example.Arn,\n Tags = \n {\n { \"Name\", \"example\" },\n },\n VpcSubnets = new[]\n {\n \"subnet-12345678\",\n \"subnet-23456789\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n aws_iam_role_policy_attachment.Example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/gamelift\"\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 := gamelift.NewGameServerGroup(ctx, \"example\", \u0026gamelift.GameServerGroupArgs{\n\t\t\tAutoScalingPolicy: \u0026gamelift.GameServerGroupAutoScalingPolicyArgs{\n\t\t\t\tEstimatedInstanceWarmup: pulumi.Int(60),\n\t\t\t\tTargetTrackingConfiguration: \u0026gamelift.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs{\n\t\t\t\t\tTargetValue: pulumi.Float64(75),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBalancingStrategy: pulumi.String(\"SPOT_ONLY\"),\n\t\t\tGameServerGroupName: pulumi.String(\"example\"),\n\t\t\tGameServerProtectionPolicy: pulumi.String(\"FULL_PROTECTION\"),\n\t\t\tInstanceDefinitions: gamelift.GameServerGroupInstanceDefinitionArray{\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.large\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\t\u0026gamelift.GameServerGroupInstanceDefinitionArgs{\n\t\t\t\t\tInstanceType: pulumi.String(\"c5.2xlarge\"),\n\t\t\t\t\tWeightedCapacity: pulumi.String(\"2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLaunchTemplate: \u0026gamelift.GameServerGroupLaunchTemplateArgs{\n\t\t\t\tId: pulumi.Any(aws_launch_template.Example.Id),\n\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tMaxSize: pulumi.Int(1),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tRoleArn: pulumi.Any(aws_iam_role.Example.Arn),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"example\"),\n\t\t\t},\n\t\t\tVpcSubnets: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-12345678\"),\n\t\t\t\tpulumi.String(\"subnet-23456789\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\taws_iam_role_policy_attachment.Example,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.gamelift.GameServerGroup;\nimport com.pulumi.aws.gamelift.GameServerGroupArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupInstanceDefinitionArgs;\nimport com.pulumi.aws.gamelift.inputs.GameServerGroupLaunchTemplateArgs;\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 GameServerGroup(\"example\", GameServerGroupArgs.builder() \n .autoScalingPolicy(GameServerGroupAutoScalingPolicyArgs.builder()\n .estimatedInstanceWarmup(60)\n .targetTrackingConfiguration(GameServerGroupAutoScalingPolicyTargetTrackingConfigurationArgs.builder()\n .targetValue(75)\n .build())\n .build())\n .balancingStrategy(\"SPOT_ONLY\")\n .gameServerGroupName(\"example\")\n .gameServerProtectionPolicy(\"FULL_PROTECTION\")\n .instanceDefinitions( \n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.large\")\n .weightedCapacity(\"1\")\n .build(),\n GameServerGroupInstanceDefinitionArgs.builder()\n .instanceType(\"c5.2xlarge\")\n .weightedCapacity(\"2\")\n .build())\n .launchTemplate(GameServerGroupLaunchTemplateArgs.builder()\n .id(aws_launch_template.example().id())\n .version(\"1\")\n .build())\n .maxSize(1)\n .minSize(1)\n .roleArn(aws_iam_role.example().arn())\n .tags(Map.of(\"Name\", \"example\"))\n .vpcSubnets( \n \"subnet-12345678\",\n \"subnet-23456789\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(aws_iam_role_policy_attachment.example())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:gamelift:GameServerGroup\n properties:\n autoScalingPolicy:\n estimatedInstanceWarmup: 60\n targetTrackingConfiguration:\n targetValue: 75\n balancingStrategy: SPOT_ONLY\n gameServerGroupName: example\n gameServerProtectionPolicy: FULL_PROTECTION\n instanceDefinitions:\n - instanceType: c5.large\n weightedCapacity: '1'\n - instanceType: c5.2xlarge\n weightedCapacity: '2'\n launchTemplate:\n id: ${aws_launch_template.example.id}\n version: '1'\n maxSize: 1\n minSize: 1\n roleArn: ${aws_iam_role.example.arn}\n tags:\n Name: example\n vpcSubnets:\n - subnet-12345678\n - subnet-23456789\n options:\n dependson:\n - ${aws_iam_role_policy_attachment.example}\n```\n{{% /example %}}\n{{% example %}}\n### Example IAM Role for GameLift Game Server Group\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getPartition({});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst exampleRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", {\n policyArn: current.then(current =\u003e `arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy`),\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_partition()\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n ],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=assume_role.json)\nexample_role_policy_attachment = aws.iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\",\n policy_arn=f\"arn:{current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetPartition.Invoke();\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"exampleRolePolicyAttachment\", new()\n {\n PolicyArn = $\"arn:{current.Apply(getPartitionResult =\u003e getPartitionResult.Partition)}:iam::aws:policy/GameLiftGameServerGroupPolicy\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\tcurrent, err := aws.GetPartition(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"autoscaling.amazonaws.com\",\n\t\t\t\t\t\t\t\t\"gamelift.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"exampleRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"exampleRolePolicyAttachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(fmt.Sprintf(\"arn:%v:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.Partition)),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetPartitionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getPartition();\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers( \n \"autoscaling.amazonaws.com\",\n \"gamelift.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleRolePolicyAttachment = new RolePolicyAttachment(\"exampleRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .policyArn(String.format(\"arn:%s:iam::aws:policy/GameLiftGameServerGroupPolicy\", current.applyValue(getPartitionResult -\u003e getPartitionResult.partition())))\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n exampleRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:${current.partition}:iam::aws:policy/GameLiftGameServerGroupPolicy\n role: ${exampleRole.name}\nvariables:\n current:\n fn::invoke:\n Function: aws:getPartition\n Arguments: {}\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - autoscaling.amazonaws.com\n - gamelift.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import {\n\n to = aws_gamelift_game_server_group.example\n\n id = \"example\" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example ", "properties": { "arn": { "type": "string", @@ -212627,6 +212939,10 @@ "type": "string", "description": "Name of the table. For Hive compatibility, this must be entirely lowercase.\n" }, + "openTableFormatInput": { + "$ref": "#/types/aws:glue/CatalogTableOpenTableFormatInput:CatalogTableOpenTableFormatInput", + "description": "Configuration block for open table formats. See `open_table_format_input` below.\n" + }, "owner": { "type": "string", "description": "Owner of the table.\n" @@ -212704,6 +213020,10 @@ "description": "Name of the table. For Hive compatibility, this must be entirely lowercase.\n", "willReplaceOnChanges": true }, + "openTableFormatInput": { + "$ref": "#/types/aws:glue/CatalogTableOpenTableFormatInput:CatalogTableOpenTableFormatInput", + "description": "Configuration block for open table formats. See `open_table_format_input` below.\n" + }, "owner": { "type": "string", "description": "Owner of the table.\n" @@ -212785,6 +213105,10 @@ "description": "Name of the table. For Hive compatibility, this must be entirely lowercase.\n", "willReplaceOnChanges": true }, + "openTableFormatInput": { + "$ref": "#/types/aws:glue/CatalogTableOpenTableFormatInput:CatalogTableOpenTableFormatInput", + "description": "Configuration block for open table formats. See `open_table_format_input` below.\n" + }, "owner": { "type": "string", "description": "Owner of the table.\n" @@ -213696,7 +214020,7 @@ } }, "aws:glue/devEndpoint:DevEndpoint": { - "description": "Provides a Glue Development Endpoint resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplePolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"glue.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: examplePolicyDocument.then(examplePolicyDocument =\u003e examplePolicyDocument.json)});\nconst exampleDevEndpoint = new aws.glue.DevEndpoint(\"exampleDevEndpoint\", {roleArn: exampleRole.arn});\nconst example_AWSGlueServiceRole = new aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"glue.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=example_policy_document.json)\nexample_dev_endpoint = aws.glue.DevEndpoint(\"exampleDevEndpoint\", role_arn=example_role.arn)\nexample__aws_glue_service_role = aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"glue.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new()\n {\n AssumeRolePolicy = examplePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDevEndpoint = new Aws.Glue.DevEndpoint(\"exampleDevEndpoint\", new()\n {\n RoleArn = exampleRole.Arn,\n });\n\n var example_AWSGlueServiceRole = new Aws.Iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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\texamplePolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"glue.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"exampleRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(examplePolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewDevEndpoint(ctx, \"exampleDevEndpoint\", \u0026glue.DevEndpointArgs{\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AWSGlueServiceRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\"),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.glue.DevEndpoint;\nimport com.pulumi.aws.glue.DevEndpointArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"glue.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDevEndpoint = new DevEndpoint(\"exampleDevEndpoint\", DevEndpointArgs.builder() \n .roleArn(exampleRole.arn())\n .build());\n\n var example_AWSGlueServiceRole = new RolePolicyAttachment(\"example-AWSGlueServiceRole\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDevEndpoint:\n type: aws:glue:DevEndpoint\n properties:\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${examplePolicyDocument.json}\n example-AWSGlueServiceRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\n role: ${exampleRole.name}\nvariables:\n examplePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - glue.amazonaws.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import a Glue Development Endpoint using the `name`. For example:\n\n```sh\n $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo\n```\n ", + "description": "Provides a Glue Development Endpoint resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nBasic usage:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst examplePolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"glue.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"exampleRole\", {assumeRolePolicy: examplePolicyDocument.then(examplePolicyDocument =\u003e examplePolicyDocument.json)});\nconst exampleDevEndpoint = new aws.glue.DevEndpoint(\"exampleDevEndpoint\", {roleArn: exampleRole.arn});\nconst example_AWSGlueServiceRole = new aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", {\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"glue.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"exampleRole\", assume_role_policy=example_policy_document.json)\nexample_dev_endpoint = aws.glue.DevEndpoint(\"exampleDevEndpoint\", role_arn=example_role.arn)\nexample__aws_glue_service_role = aws.iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\",\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n role=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var examplePolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"glue.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"exampleRole\", new()\n {\n AssumeRolePolicy = examplePolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDevEndpoint = new Aws.Glue.DevEndpoint(\"exampleDevEndpoint\", new()\n {\n RoleArn = exampleRole.Arn,\n });\n\n var example_AWSGlueServiceRole = new Aws.Iam.RolePolicyAttachment(\"example-AWSGlueServiceRole\", new()\n {\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\",\n Role = exampleRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/glue\"\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\texamplePolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"glue.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"exampleRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(examplePolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = glue.NewDevEndpoint(ctx, \"exampleDevEndpoint\", \u0026glue.DevEndpointArgs{\n\t\t\tRoleArn: exampleRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"example-AWSGlueServiceRole\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\"),\n\t\t\tRole: exampleRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.glue.DevEndpoint;\nimport com.pulumi.aws.glue.DevEndpointArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"glue.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .assumeRolePolicy(examplePolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDevEndpoint = new DevEndpoint(\"exampleDevEndpoint\", DevEndpointArgs.builder() \n .roleArn(exampleRole.arn())\n .build());\n\n var example_AWSGlueServiceRole = new RolePolicyAttachment(\"example-AWSGlueServiceRole\", RolePolicyAttachmentArgs.builder() \n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\")\n .role(exampleRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDevEndpoint:\n type: aws:glue:DevEndpoint\n properties:\n roleArn: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${examplePolicyDocument.json}\n example-AWSGlueServiceRole:\n type: aws:iam:RolePolicyAttachment\n properties:\n policyArn: arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole\n role: ${exampleRole.name}\nvariables:\n examplePolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - glue.amazonaws.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import {\n\n to = aws_glue_dev_endpoint.example\n\n id = \"foo\" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo ", "properties": { "arguments": { "type": "object", @@ -213788,7 +214112,7 @@ "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" + "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", @@ -213903,7 +214227,7 @@ "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" + "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" }, "workerType": { "type": "string", @@ -214015,7 +214339,7 @@ "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" + "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", @@ -217840,7 +218164,7 @@ } }, "aws:iam/groupPolicyAttachment:GroupPolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM group\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst group = new aws.iam.Group(\"group\", {});\nconst policy = new aws.iam.Policy(\"policy\", {\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.GroupPolicyAttachment(\"test-attach\", {\n group: group.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroup = aws.iam.Group(\"group\")\npolicy = aws.iam.Policy(\"policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.GroupPolicyAttachment(\"test-attach\",\n group=group.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @group = new Aws.Iam.Group(\"group\");\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.GroupPolicyAttachment(\"test-attach\", new()\n {\n Group = @group.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewGroupPolicyAttachment(ctx, \"test-attach\", \u0026iam.GroupPolicyAttachmentArgs{\n\t\t\tGroup: group.Name,\n\t\t\tPolicyArn: policy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.GroupPolicyAttachment;\nimport com.pulumi.aws.iam.GroupPolicyAttachmentArgs;\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 group = new Group(\"group\");\n\n var policy = new Policy(\"policy\", PolicyArgs.builder() \n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new GroupPolicyAttachment(\"test-attach\", GroupPolicyAttachmentArgs.builder() \n .group(group.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n group:\n type: aws:iam:Group\n policy:\n type: aws:iam:Policy\n properties:\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:GroupPolicyAttachment\n properties:\n group: ${group.name}\n policyArn: ${policy.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example:\n\n```sh\n $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n ", + "description": "Attaches a Managed IAM Policy to an IAM group\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst group = new aws.iam.Group(\"group\", {});\nconst policy = new aws.iam.Policy(\"policy\", {\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.GroupPolicyAttachment(\"test-attach\", {\n group: group.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngroup = aws.iam.Group(\"group\")\npolicy = aws.iam.Policy(\"policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.GroupPolicyAttachment(\"test-attach\",\n group=group.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @group = new Aws.Iam.Group(\"group\");\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.GroupPolicyAttachment(\"test-attach\", new()\n {\n Group = @group.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgroup, err := iam.NewGroup(ctx, \"group\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewGroupPolicyAttachment(ctx, \"test-attach\", \u0026iam.GroupPolicyAttachmentArgs{\n\t\t\tGroup: group.Name,\n\t\t\tPolicyArn: policy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Group;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.GroupPolicyAttachment;\nimport com.pulumi.aws.iam.GroupPolicyAttachmentArgs;\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 group = new Group(\"group\");\n\n var policy = new Policy(\"policy\", PolicyArgs.builder() \n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new GroupPolicyAttachment(\"test-attach\", GroupPolicyAttachmentArgs.builder() \n .group(group.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n group:\n type: aws:iam:Group\n policy:\n type: aws:iam:Policy\n properties:\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:GroupPolicyAttachment\n properties:\n group: ${group.name}\n policyArn: ${policy.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import {\n\n to = aws_iam_group_policy_attachment.test-attach\n\n id = \"test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy ", "properties": { "group": { "type": "string", @@ -218889,7 +219213,7 @@ } }, "aws:iam/rolePolicyAttachment:RolePolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM role\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst policyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policyPolicy\", {\n description: \"A test policy\",\n policy: policyPolicyDocument.then(policyPolicyDocument =\u003e policyPolicyDocument.json),\n});\nconst test_attach = new aws.iam.RolePolicyAttachment(\"test-attach\", {\n role: role.name,\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\npolicy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\npolicy_policy = aws.iam.Policy(\"policyPolicy\",\n description=\"A test policy\",\n policy=policy_policy_document.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test-attach\",\n role=role.name,\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var policyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policyPolicy\", new()\n {\n Description = \"A test policy\",\n PolicyDocument = policyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.RolePolicyAttachment(\"test-attach\", new()\n {\n Role = role.Name,\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policyPolicy\", \u0026iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: *pulumi.String(policyPolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test-attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: role.Name,\n\t\t\tPolicyArn: policyPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var policyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder() \n .description(\"A test policy\")\n .policy(policyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new RolePolicyAttachment(\"test-attach\", RolePolicyAttachmentArgs.builder() \n .role(role.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n policyPolicy:\n type: aws:iam:Policy\n properties:\n description: A test policy\n policy: ${policyPolicyDocument.json}\n test-attach:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${role.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:\n\n```sh\n $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n ", + "description": "Attaches a Managed IAM Policy to an IAM role\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n\u003e **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"ec2.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst policyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"ec2:Describe*\"],\n resources: [\"*\"],\n }],\n});\nconst policyPolicy = new aws.iam.Policy(\"policyPolicy\", {\n description: \"A test policy\",\n policy: policyPolicyDocument.then(policyPolicyDocument =\u003e policyPolicyDocument.json),\n});\nconst test_attach = new aws.iam.RolePolicyAttachment(\"test-attach\", {\n role: role.name,\n policyArn: policyPolicy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"ec2.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\npolicy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"ec2:Describe*\"],\n resources=[\"*\"],\n)])\npolicy_policy = aws.iam.Policy(\"policyPolicy\",\n description=\"A test policy\",\n policy=policy_policy_document.json)\ntest_attach = aws.iam.RolePolicyAttachment(\"test-attach\",\n role=role.name,\n policy_arn=policy_policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var policyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:Describe*\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var policyPolicy = new Aws.Iam.Policy(\"policyPolicy\", new()\n {\n Description = \"A test policy\",\n PolicyDocument = policyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var test_attach = new Aws.Iam.RolePolicyAttachment(\"test-attach\", new()\n {\n Role = role.Name,\n PolicyArn = policyPolicy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"ec2:Describe*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicyPolicy, err := iam.NewPolicy(ctx, \"policyPolicy\", \u0026iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: *pulumi.String(policyPolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"test-attach\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: role.Name,\n\t\t\tPolicyArn: policyPolicy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"ec2.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var policyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"ec2:Describe*\")\n .resources(\"*\")\n .build())\n .build());\n\n var policyPolicy = new Policy(\"policyPolicy\", PolicyArgs.builder() \n .description(\"A test policy\")\n .policy(policyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var test_attach = new RolePolicyAttachment(\"test-attach\", RolePolicyAttachmentArgs.builder() \n .role(role.name())\n .policyArn(policyPolicy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n policyPolicy:\n type: aws:iam:Policy\n properties:\n description: A test policy\n policy: ${policyPolicyDocument.json}\n test-attach:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${role.name}\n policyArn: ${policyPolicy.arn}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - ec2.amazonaws.com\n actions:\n - sts:AssumeRole\n policyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - ec2:Describe*\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import {\n\n to = aws_iam_role_policy_attachment.test-attach\n\n id = \"test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy ", "properties": { "policyArn": { "type": "string", @@ -220030,7 +220354,7 @@ } }, "aws:iam/userPolicyAttachment:UserPolicyAttachment": { - "description": "Attaches a Managed IAM Policy to an IAM user\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {});\nconst policy = new aws.iam.Policy(\"policy\", {\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.UserPolicyAttachment(\"test-attach\", {\n user: user.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\")\npolicy = aws.iam.Policy(\"policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.UserPolicyAttachment(\"test-attach\",\n user=user.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\");\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.UserPolicyAttachment(\"test-attach\", new()\n {\n User = user.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicyAttachment(ctx, \"test-attach\", \u0026iam.UserPolicyAttachmentArgs{\n\t\t\tUser: user.Name,\n\t\t\tPolicyArn: policy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.UserPolicyAttachment;\nimport com.pulumi.aws.iam.UserPolicyAttachmentArgs;\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 user = new User(\"user\");\n\n var policy = new Policy(\"policy\", PolicyArgs.builder() \n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new UserPolicyAttachment(\"test-attach\", UserPolicyAttachmentArgs.builder() \n .user(user.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n policy:\n type: aws:iam:Policy\n properties:\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:UserPolicyAttachment\n properties:\n user: ${user.name}\n policyArn: ${policy.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example:\n\n```sh\n $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\n```\n ", + "description": "Attaches a Managed IAM Policy to an IAM user\n\n\u003e **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst user = new aws.iam.User(\"user\", {});\nconst policy = new aws.iam.Policy(\"policy\", {\n description: \"A test policy\",\n policy: \"{ ... policy JSON ... }\",\n});\nconst test_attach = new aws.iam.UserPolicyAttachment(\"test-attach\", {\n user: user.name,\n policyArn: policy.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nuser = aws.iam.User(\"user\")\npolicy = aws.iam.Policy(\"policy\",\n description=\"A test policy\",\n policy=\"{ ... policy JSON ... }\")\ntest_attach = aws.iam.UserPolicyAttachment(\"test-attach\",\n user=user.name,\n policy_arn=policy.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var user = new Aws.Iam.User(\"user\");\n\n var policy = new Aws.Iam.Policy(\"policy\", new()\n {\n Description = \"A test policy\",\n PolicyDocument = \"{ ... policy JSON ... }\",\n });\n\n var test_attach = new Aws.Iam.UserPolicyAttachment(\"test-attach\", new()\n {\n User = user.Name,\n PolicyArn = policy.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tuser, err := iam.NewUser(ctx, \"user\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpolicy, err := iam.NewPolicy(ctx, \"policy\", \u0026iam.PolicyArgs{\n\t\t\tDescription: pulumi.String(\"A test policy\"),\n\t\t\tPolicy: pulumi.Any(\"{ ... policy JSON ... }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewUserPolicyAttachment(ctx, \"test-attach\", \u0026iam.UserPolicyAttachmentArgs{\n\t\t\tUser: user.Name,\n\t\t\tPolicyArn: policy.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.User;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.UserPolicyAttachment;\nimport com.pulumi.aws.iam.UserPolicyAttachmentArgs;\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 user = new User(\"user\");\n\n var policy = new Policy(\"policy\", PolicyArgs.builder() \n .description(\"A test policy\")\n .policy(\"{ ... policy JSON ... }\")\n .build());\n\n var test_attach = new UserPolicyAttachment(\"test-attach\", UserPolicyAttachmentArgs.builder() \n .user(user.name())\n .policyArn(policy.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user:\n type: aws:iam:User\n policy:\n type: aws:iam:Policy\n properties:\n description: A test policy\n policy: '{ ... policy JSON ... }'\n test-attach:\n type: aws:iam:UserPolicyAttachment\n properties:\n user: ${user.name}\n policyArn: ${policy.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import {\n\n to = aws_iam_user_policy_attachment.test-attach\n\n id = \"test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy\" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy ", "properties": { "policyArn": { "type": "string", @@ -223187,7 +223511,7 @@ } }, "aws:iot/provisioningTemplate:ProvisioningTemplate": { - "description": "Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iotAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n }],\n});\nconst iotFleetProvisioning = new aws.iam.Role(\"iotFleetProvisioning\", {\n path: \"/service-role/\",\n assumeRolePolicy: iotAssumeRolePolicy.then(iotAssumeRolePolicy =\u003e iotAssumeRolePolicy.json),\n});\nconst iotFleetProvisioningRegistration = new aws.iam.RolePolicyAttachment(\"iotFleetProvisioningRegistration\", {\n role: iotFleetProvisioning.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n});\nconst devicePolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"iot:Subscribe\"],\n resources: [\"*\"],\n }],\n});\nconst devicePolicyPolicy = new aws.iot.Policy(\"devicePolicyPolicy\", {policy: devicePolicyPolicyDocument.then(devicePolicyPolicyDocument =\u003e devicePolicyPolicyDocument.json)});\nconst fleet = new aws.iot.ProvisioningTemplate(\"fleet\", {\n description: \"My provisioning template\",\n provisioningRoleArn: iotFleetProvisioning.arn,\n templateBody: devicePolicyPolicy.name.apply(name =\u003e JSON.stringify({\n Parameters: {\n SerialNumber: {\n Type: \"String\",\n },\n },\n Resources: {\n certificate: {\n Properties: {\n CertificateId: {\n Ref: \"AWS::IoT::Certificate::Id\",\n },\n Status: \"Active\",\n },\n Type: \"AWS::IoT::Certificate\",\n },\n policy: {\n Properties: {\n PolicyName: name,\n },\n Type: \"AWS::IoT::Policy\",\n },\n },\n })),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niot_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"iot.amazonaws.com\"],\n )],\n)])\niot_fleet_provisioning = aws.iam.Role(\"iotFleetProvisioning\",\n path=\"/service-role/\",\n assume_role_policy=iot_assume_role_policy.json)\niot_fleet_provisioning_registration = aws.iam.RolePolicyAttachment(\"iotFleetProvisioningRegistration\",\n role=iot_fleet_provisioning.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\ndevice_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"iot:Subscribe\"],\n resources=[\"*\"],\n)])\ndevice_policy_policy = aws.iot.Policy(\"devicePolicyPolicy\", policy=device_policy_policy_document.json)\nfleet = aws.iot.ProvisioningTemplate(\"fleet\",\n description=\"My provisioning template\",\n provisioning_role_arn=iot_fleet_provisioning.arn,\n template_body=device_policy_policy.name.apply(lambda name: json.dumps({\n \"Parameters\": {\n \"SerialNumber\": {\n \"Type\": \"String\",\n },\n },\n \"Resources\": {\n \"certificate\": {\n \"Properties\": {\n \"CertificateId\": {\n \"Ref\": \"AWS::IoT::Certificate::Id\",\n },\n \"Status\": \"Active\",\n },\n \"Type\": \"AWS::IoT::Certificate\",\n },\n \"policy\": {\n \"Properties\": {\n \"PolicyName\": name,\n },\n \"Type\": \"AWS::IoT::Policy\",\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 iotAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var iotFleetProvisioning = new Aws.Iam.Role(\"iotFleetProvisioning\", new()\n {\n Path = \"/service-role/\",\n AssumeRolePolicy = iotAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var iotFleetProvisioningRegistration = new Aws.Iam.RolePolicyAttachment(\"iotFleetProvisioningRegistration\", new()\n {\n Role = iotFleetProvisioning.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n });\n\n var devicePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"iot:Subscribe\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var devicePolicyPolicy = new Aws.Iot.Policy(\"devicePolicyPolicy\", new()\n {\n PolicyDocument = devicePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fleet = new Aws.Iot.ProvisioningTemplate(\"fleet\", new()\n {\n Description = \"My provisioning template\",\n ProvisioningRoleArn = iotFleetProvisioning.Arn,\n TemplateBody = devicePolicyPolicy.Name.Apply(name =\u003e JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SerialNumber\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"certificate\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CertificateId\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"AWS::IoT::Certificate::Id\",\n },\n [\"Status\"] = \"Active\",\n },\n [\"Type\"] = \"AWS::IoT::Certificate\",\n },\n [\"policy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PolicyName\"] = name,\n },\n [\"Type\"] = \"AWS::IoT::Policy\",\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-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tiotAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"iot.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiotFleetProvisioning, err := iam.NewRole(ctx, \"iotFleetProvisioning\", \u0026iam.RoleArgs{\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: *pulumi.String(iotAssumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"iotFleetProvisioningRegistration\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: iotFleetProvisioning.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:Subscribe\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicy, err := iot.NewPolicy(ctx, \"devicePolicyPolicy\", \u0026iot.PolicyArgs{\n\t\t\tPolicy: *pulumi.String(devicePolicyPolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewProvisioningTemplate(ctx, \"fleet\", \u0026iot.ProvisioningTemplateArgs{\n\t\t\tDescription: pulumi.String(\"My provisioning template\"),\n\t\t\tProvisioningRoleArn: iotFleetProvisioning.Arn,\n\t\t\tTemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"SerialNumber\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\t\t\"certificate\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"CertificateId\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"Ref\": \"AWS::IoT::Certificate::Id\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Status\": \"Active\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Certificate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"policy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"PolicyName\": name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Policy\",\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\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), 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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.ProvisioningTemplate;\nimport com.pulumi.aws.iot.ProvisioningTemplateArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var iotAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var iotFleetProvisioning = new Role(\"iotFleetProvisioning\", RoleArgs.builder() \n .path(\"/service-role/\")\n .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var iotFleetProvisioningRegistration = new RolePolicyAttachment(\"iotFleetProvisioningRegistration\", RolePolicyAttachmentArgs.builder() \n .role(iotFleetProvisioning.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\n .build());\n\n final var devicePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"iot:Subscribe\")\n .resources(\"*\")\n .build())\n .build());\n\n var devicePolicyPolicy = new Policy(\"devicePolicyPolicy\", PolicyArgs.builder() \n .policy(devicePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fleet = new ProvisioningTemplate(\"fleet\", ProvisioningTemplateArgs.builder() \n .description(\"My provisioning template\")\n .provisioningRoleArn(iotFleetProvisioning.arn())\n .templateBody(devicePolicyPolicy.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"SerialNumber\", jsonObject(\n jsonProperty(\"Type\", \"String\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"certificate\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CertificateId\", jsonObject(\n jsonProperty(\"Ref\", \"AWS::IoT::Certificate::Id\")\n )),\n jsonProperty(\"Status\", \"Active\")\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Certificate\")\n )),\n jsonProperty(\"policy\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"PolicyName\", name)\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Policy\")\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iotFleetProvisioning:\n type: aws:iam:Role\n properties:\n path: /service-role/\n assumeRolePolicy: ${iotAssumeRolePolicy.json}\n iotFleetProvisioningRegistration:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${iotFleetProvisioning.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\n devicePolicyPolicy:\n type: aws:iot:Policy\n properties:\n policy: ${devicePolicyPolicyDocument.json}\n fleet:\n type: aws:iot:ProvisioningTemplate\n properties:\n description: My provisioning template\n provisioningRoleArn: ${iotFleetProvisioning.arn}\n templateBody:\n fn::toJSON:\n Parameters:\n SerialNumber:\n Type: String\n Resources:\n certificate:\n Properties:\n CertificateId:\n Ref: AWS::IoT::Certificate::Id\n Status: Active\n Type: AWS::IoT::Certificate\n policy:\n Properties:\n PolicyName: ${devicePolicyPolicy.name}\n Type: AWS::IoT::Policy\nvariables:\n iotAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n devicePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - iot:Subscribe\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IoT fleet provisioning templates using the `name`. For example:\n\n```sh\n $ pulumi import aws:iot/provisioningTemplate:ProvisioningTemplate fleet FleetProvisioningTemplate\n```\n ", + "description": "Manages an IoT fleet provisioning template. For more info, see the AWS documentation on [fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst iotAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"iot.amazonaws.com\"],\n }],\n }],\n});\nconst iotFleetProvisioning = new aws.iam.Role(\"iotFleetProvisioning\", {\n path: \"/service-role/\",\n assumeRolePolicy: iotAssumeRolePolicy.then(iotAssumeRolePolicy =\u003e iotAssumeRolePolicy.json),\n});\nconst iotFleetProvisioningRegistration = new aws.iam.RolePolicyAttachment(\"iotFleetProvisioningRegistration\", {\n role: iotFleetProvisioning.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n});\nconst devicePolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"iot:Subscribe\"],\n resources: [\"*\"],\n }],\n});\nconst devicePolicyPolicy = new aws.iot.Policy(\"devicePolicyPolicy\", {policy: devicePolicyPolicyDocument.then(devicePolicyPolicyDocument =\u003e devicePolicyPolicyDocument.json)});\nconst fleet = new aws.iot.ProvisioningTemplate(\"fleet\", {\n description: \"My provisioning template\",\n provisioningRoleArn: iotFleetProvisioning.arn,\n enabled: true,\n templateBody: devicePolicyPolicy.name.apply(name =\u003e JSON.stringify({\n Parameters: {\n SerialNumber: {\n Type: \"String\",\n },\n },\n Resources: {\n certificate: {\n Properties: {\n CertificateId: {\n Ref: \"AWS::IoT::Certificate::Id\",\n },\n Status: \"Active\",\n },\n Type: \"AWS::IoT::Certificate\",\n },\n policy: {\n Properties: {\n PolicyName: name,\n },\n Type: \"AWS::IoT::Policy\",\n },\n },\n })),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\niot_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"iot.amazonaws.com\"],\n )],\n)])\niot_fleet_provisioning = aws.iam.Role(\"iotFleetProvisioning\",\n path=\"/service-role/\",\n assume_role_policy=iot_assume_role_policy.json)\niot_fleet_provisioning_registration = aws.iam.RolePolicyAttachment(\"iotFleetProvisioningRegistration\",\n role=iot_fleet_provisioning.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\ndevice_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"iot:Subscribe\"],\n resources=[\"*\"],\n)])\ndevice_policy_policy = aws.iot.Policy(\"devicePolicyPolicy\", policy=device_policy_policy_document.json)\nfleet = aws.iot.ProvisioningTemplate(\"fleet\",\n description=\"My provisioning template\",\n provisioning_role_arn=iot_fleet_provisioning.arn,\n enabled=True,\n template_body=device_policy_policy.name.apply(lambda name: json.dumps({\n \"Parameters\": {\n \"SerialNumber\": {\n \"Type\": \"String\",\n },\n },\n \"Resources\": {\n \"certificate\": {\n \"Properties\": {\n \"CertificateId\": {\n \"Ref\": \"AWS::IoT::Certificate::Id\",\n },\n \"Status\": \"Active\",\n },\n \"Type\": \"AWS::IoT::Certificate\",\n },\n \"policy\": {\n \"Properties\": {\n \"PolicyName\": name,\n },\n \"Type\": \"AWS::IoT::Policy\",\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 iotAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"iot.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var iotFleetProvisioning = new Aws.Iam.Role(\"iotFleetProvisioning\", new()\n {\n Path = \"/service-role/\",\n AssumeRolePolicy = iotAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var iotFleetProvisioningRegistration = new Aws.Iam.RolePolicyAttachment(\"iotFleetProvisioningRegistration\", new()\n {\n Role = iotFleetProvisioning.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\",\n });\n\n var devicePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"iot:Subscribe\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var devicePolicyPolicy = new Aws.Iot.Policy(\"devicePolicyPolicy\", new()\n {\n PolicyDocument = devicePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var fleet = new Aws.Iot.ProvisioningTemplate(\"fleet\", new()\n {\n Description = \"My provisioning template\",\n ProvisioningRoleArn = iotFleetProvisioning.Arn,\n Enabled = true,\n TemplateBody = devicePolicyPolicy.Name.Apply(name =\u003e JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"SerialNumber\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"certificate\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CertificateId\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"AWS::IoT::Certificate::Id\",\n },\n [\"Status\"] = \"Active\",\n },\n [\"Type\"] = \"AWS::IoT::Certificate\",\n },\n [\"policy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"PolicyName\"] = name,\n },\n [\"Type\"] = \"AWS::IoT::Policy\",\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-aws/sdk/v6/go/aws/iot\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tiotAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"iot.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiotFleetProvisioning, err := iam.NewRole(ctx, \"iotFleetProvisioning\", \u0026iam.RoleArgs{\n\t\t\tPath: pulumi.String(\"/service-role/\"),\n\t\t\tAssumeRolePolicy: *pulumi.String(iotAssumeRolePolicy.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"iotFleetProvisioningRegistration\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: iotFleetProvisioning.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"iot:Subscribe\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevicePolicyPolicy, err := iot.NewPolicy(ctx, \"devicePolicyPolicy\", \u0026iot.PolicyArgs{\n\t\t\tPolicy: *pulumi.String(devicePolicyPolicyDocument.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iot.NewProvisioningTemplate(ctx, \"fleet\", \u0026iot.ProvisioningTemplateArgs{\n\t\t\tDescription: pulumi.String(\"My provisioning template\"),\n\t\t\tProvisioningRoleArn: iotFleetProvisioning.Arn,\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tTemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) {\n\t\t\t\tvar _zero pulumi.String\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\t\t\"SerialNumber\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\t\t\"certificate\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"CertificateId\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"Ref\": \"AWS::IoT::Certificate::Id\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"Status\": \"Active\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Certificate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"policy\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"PolicyName\": name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Type\": \"AWS::IoT::Policy\",\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\tjson0 := string(tmpJSON0)\n\t\t\t\treturn pulumi.String(json0), 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\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iot.Policy;\nimport com.pulumi.aws.iot.PolicyArgs;\nimport com.pulumi.aws.iot.ProvisioningTemplate;\nimport com.pulumi.aws.iot.ProvisioningTemplateArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var iotAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"iot.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var iotFleetProvisioning = new Role(\"iotFleetProvisioning\", RoleArgs.builder() \n .path(\"/service-role/\")\n .assumeRolePolicy(iotAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var iotFleetProvisioningRegistration = new RolePolicyAttachment(\"iotFleetProvisioningRegistration\", RolePolicyAttachmentArgs.builder() \n .role(iotFleetProvisioning.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\")\n .build());\n\n final var devicePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"iot:Subscribe\")\n .resources(\"*\")\n .build())\n .build());\n\n var devicePolicyPolicy = new Policy(\"devicePolicyPolicy\", PolicyArgs.builder() \n .policy(devicePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var fleet = new ProvisioningTemplate(\"fleet\", ProvisioningTemplateArgs.builder() \n .description(\"My provisioning template\")\n .provisioningRoleArn(iotFleetProvisioning.arn())\n .enabled(true)\n .templateBody(devicePolicyPolicy.name().applyValue(name -\u003e serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"SerialNumber\", jsonObject(\n jsonProperty(\"Type\", \"String\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"certificate\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CertificateId\", jsonObject(\n jsonProperty(\"Ref\", \"AWS::IoT::Certificate::Id\")\n )),\n jsonProperty(\"Status\", \"Active\")\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Certificate\")\n )),\n jsonProperty(\"policy\", jsonObject(\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"PolicyName\", name)\n )),\n jsonProperty(\"Type\", \"AWS::IoT::Policy\")\n ))\n ))\n ))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iotFleetProvisioning:\n type: aws:iam:Role\n properties:\n path: /service-role/\n assumeRolePolicy: ${iotAssumeRolePolicy.json}\n iotFleetProvisioningRegistration:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${iotFleetProvisioning.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration\n devicePolicyPolicy:\n type: aws:iot:Policy\n properties:\n policy: ${devicePolicyPolicyDocument.json}\n fleet:\n type: aws:iot:ProvisioningTemplate\n properties:\n description: My provisioning template\n provisioningRoleArn: ${iotFleetProvisioning.arn}\n enabled: true\n templateBody:\n fn::toJSON:\n Parameters:\n SerialNumber:\n Type: String\n Resources:\n certificate:\n Properties:\n CertificateId:\n Ref: AWS::IoT::Certificate::Id\n Status: Active\n Type: AWS::IoT::Certificate\n policy:\n Properties:\n PolicyName: ${devicePolicyPolicy.name}\n Type: AWS::IoT::Policy\nvariables:\n iotAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - iot.amazonaws.com\n devicePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - iot:Subscribe\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import IoT fleet provisioning templates using the `name`. For example:\n\n```sh\n $ pulumi import aws:iot/provisioningTemplate:ProvisioningTemplate fleet FleetProvisioningTemplate\n```\n ", "properties": { "arn": { "type": "string", @@ -233399,7 +233723,7 @@ } }, "aws:licensemanager/association:Association": { - "description": "Provides a License Manager association.\n\n\u003e **Note:** License configurations can also be associated with launch templates by specifying the `license_specifications` block for an `aws.ec2.LaunchTemplate`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAmi = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-vpc-nat*\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"exampleInstance\", {\n ami: exampleAmi.then(exampleAmi =\u003e exampleAmi.id),\n instanceType: \"t2.micro\",\n});\nconst exampleLicenseConfiguration = new aws.licensemanager.LicenseConfiguration(\"exampleLicenseConfiguration\", {licenseCountingType: \"Instance\"});\nconst exampleAssociation = new aws.licensemanager.Association(\"exampleAssociation\", {\n licenseConfigurationArn: exampleLicenseConfiguration.arn,\n resourceArn: exampleInstance.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ami = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-vpc-nat*\"],\n )])\nexample_instance = aws.ec2.Instance(\"exampleInstance\",\n ami=example_ami.id,\n instance_type=\"t2.micro\")\nexample_license_configuration = aws.licensemanager.LicenseConfiguration(\"exampleLicenseConfiguration\", license_counting_type=\"Instance\")\nexample_association = aws.licensemanager.Association(\"exampleAssociation\",\n license_configuration_arn=example_license_configuration.arn,\n resource_arn=example_instance.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAmi = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-vpc-nat*\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"exampleInstance\", new()\n {\n Ami = exampleAmi.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t2.micro\",\n });\n\n var exampleLicenseConfiguration = new Aws.LicenseManager.LicenseConfiguration(\"exampleLicenseConfiguration\", new()\n {\n LicenseCountingType = \"Instance\",\n });\n\n var exampleAssociation = new Aws.LicenseManager.Association(\"exampleAssociation\", new()\n {\n LicenseConfigurationArn = exampleLicenseConfiguration.Arn,\n ResourceArn = exampleInstance.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAmi, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-vpc-nat*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ec2.NewInstance(ctx, \"exampleInstance\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: *pulumi.String(exampleAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicenseConfiguration, err := licensemanager.NewLicenseConfiguration(ctx, \"exampleLicenseConfiguration\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tLicenseCountingType: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.NewAssociation(ctx, \"exampleAssociation\", \u0026licensemanager.AssociationArgs{\n\t\t\tLicenseConfigurationArn: exampleLicenseConfiguration.Arn,\n\t\t\tResourceArn: exampleInstance.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport com.pulumi.aws.licensemanager.Association;\nimport com.pulumi.aws.licensemanager.AssociationArgs;\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 exampleAmi = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-vpc-nat*\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .ami(exampleAmi.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n var exampleLicenseConfiguration = new LicenseConfiguration(\"exampleLicenseConfiguration\", LicenseConfigurationArgs.builder() \n .licenseCountingType(\"Instance\")\n .build());\n\n var exampleAssociation = new Association(\"exampleAssociation\", AssociationArgs.builder() \n .licenseConfigurationArn(exampleLicenseConfiguration.arn())\n .resourceArn(exampleInstance.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: aws:ec2:Instance\n properties:\n ami: ${exampleAmi.id}\n instanceType: t2.micro\n exampleLicenseConfiguration:\n type: aws:licensemanager:LicenseConfiguration\n properties:\n licenseCountingType: Instance\n exampleAssociation:\n type: aws:licensemanager:Association\n properties:\n licenseConfigurationArn: ${exampleLicenseConfiguration.arn}\n resourceArn: ${exampleInstance.arn}\nvariables:\n exampleAmi:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-vpc-nat*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example:\n\n```sh\n $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n ", + "description": "Provides a License Manager association.\n\n\u003e **Note:** License configurations can also be associated with launch templates by specifying the `license_specifications` block for an `aws.ec2.LaunchTemplate`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAmi = aws.ec2.getAmi({\n mostRecent: true,\n owners: [\"amazon\"],\n filters: [{\n name: \"name\",\n values: [\"amzn-ami-vpc-nat*\"],\n }],\n});\nconst exampleInstance = new aws.ec2.Instance(\"exampleInstance\", {\n ami: exampleAmi.then(exampleAmi =\u003e exampleAmi.id),\n instanceType: \"t2.micro\",\n});\nconst exampleLicenseConfiguration = new aws.licensemanager.LicenseConfiguration(\"exampleLicenseConfiguration\", {licenseCountingType: \"Instance\"});\nconst exampleAssociation = new aws.licensemanager.Association(\"exampleAssociation\", {\n licenseConfigurationArn: exampleLicenseConfiguration.arn,\n resourceArn: exampleInstance.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_ami = aws.ec2.get_ami(most_recent=True,\n owners=[\"amazon\"],\n filters=[aws.ec2.GetAmiFilterArgs(\n name=\"name\",\n values=[\"amzn-ami-vpc-nat*\"],\n )])\nexample_instance = aws.ec2.Instance(\"exampleInstance\",\n ami=example_ami.id,\n instance_type=\"t2.micro\")\nexample_license_configuration = aws.licensemanager.LicenseConfiguration(\"exampleLicenseConfiguration\", license_counting_type=\"Instance\")\nexample_association = aws.licensemanager.Association(\"exampleAssociation\",\n license_configuration_arn=example_license_configuration.arn,\n resource_arn=example_instance.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAmi = Aws.Ec2.GetAmi.Invoke(new()\n {\n MostRecent = true,\n Owners = new[]\n {\n \"amazon\",\n },\n Filters = new[]\n {\n new Aws.Ec2.Inputs.GetAmiFilterInputArgs\n {\n Name = \"name\",\n Values = new[]\n {\n \"amzn-ami-vpc-nat*\",\n },\n },\n },\n });\n\n var exampleInstance = new Aws.Ec2.Instance(\"exampleInstance\", new()\n {\n Ami = exampleAmi.Apply(getAmiResult =\u003e getAmiResult.Id),\n InstanceType = \"t2.micro\",\n });\n\n var exampleLicenseConfiguration = new Aws.LicenseManager.LicenseConfiguration(\"exampleLicenseConfiguration\", new()\n {\n LicenseCountingType = \"Instance\",\n });\n\n var exampleAssociation = new Aws.LicenseManager.Association(\"exampleAssociation\", new()\n {\n LicenseConfigurationArn = exampleLicenseConfiguration.Arn,\n ResourceArn = exampleInstance.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleAmi, err := ec2.LookupAmi(ctx, \u0026ec2.LookupAmiArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tOwners: []string{\n\t\t\t\t\"amazon\",\n\t\t\t},\n\t\t\tFilters: []ec2.GetAmiFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"amzn-ami-vpc-nat*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleInstance, err := ec2.NewInstance(ctx, \"exampleInstance\", \u0026ec2.InstanceArgs{\n\t\t\tAmi: *pulumi.String(exampleAmi.Id),\n\t\t\tInstanceType: pulumi.String(\"t2.micro\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLicenseConfiguration, err := licensemanager.NewLicenseConfiguration(ctx, \"exampleLicenseConfiguration\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tLicenseCountingType: pulumi.String(\"Instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = licensemanager.NewAssociation(ctx, \"exampleAssociation\", \u0026licensemanager.AssociationArgs{\n\t\t\tLicenseConfigurationArn: exampleLicenseConfiguration.Arn,\n\t\t\tResourceArn: exampleInstance.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Ec2Functions;\nimport com.pulumi.aws.ec2.inputs.GetAmiArgs;\nimport com.pulumi.aws.ec2.Instance;\nimport com.pulumi.aws.ec2.InstanceArgs;\nimport com.pulumi.aws.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\nimport com.pulumi.aws.licensemanager.Association;\nimport com.pulumi.aws.licensemanager.AssociationArgs;\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 exampleAmi = Ec2Functions.getAmi(GetAmiArgs.builder()\n .mostRecent(true)\n .owners(\"amazon\")\n .filters(GetAmiFilterArgs.builder()\n .name(\"name\")\n .values(\"amzn-ami-vpc-nat*\")\n .build())\n .build());\n\n var exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .ami(exampleAmi.applyValue(getAmiResult -\u003e getAmiResult.id()))\n .instanceType(\"t2.micro\")\n .build());\n\n var exampleLicenseConfiguration = new LicenseConfiguration(\"exampleLicenseConfiguration\", LicenseConfigurationArgs.builder() \n .licenseCountingType(\"Instance\")\n .build());\n\n var exampleAssociation = new Association(\"exampleAssociation\", AssociationArgs.builder() \n .licenseConfigurationArn(exampleLicenseConfiguration.arn())\n .resourceArn(exampleInstance.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: aws:ec2:Instance\n properties:\n ami: ${exampleAmi.id}\n instanceType: t2.micro\n exampleLicenseConfiguration:\n type: aws:licensemanager:LicenseConfiguration\n properties:\n licenseCountingType: Instance\n exampleAssociation:\n type: aws:licensemanager:Association\n properties:\n licenseConfigurationArn: ${exampleLicenseConfiguration.arn}\n resourceArn: ${exampleInstance.arn}\nvariables:\n exampleAmi:\n fn::invoke:\n Function: aws:ec2:getAmi\n Arguments:\n mostRecent: true\n owners:\n - amazon\n filters:\n - name: name\n values:\n - amzn-ami-vpc-nat*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import {\n\n to = aws_licensemanager_association.example\n\n id = \"arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef ", "properties": { "licenseConfigurationArn": { "type": "string", @@ -233448,7 +233772,7 @@ } }, "aws:licensemanager/licenseConfiguration:LicenseConfiguration": { - "description": "Provides a License Manager license configuration resource.\n\n\u003e **Note:** Removing the `license_count` attribute is not supported by the License Manager API - recreate the resource instead.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.licensemanager.LicenseConfiguration(\"example\", {\n description: \"Example\",\n licenseCount: 10,\n licenseCountHardLimit: true,\n licenseCountingType: \"Socket\",\n licenseRules: [\"#minimumSockets=2\"],\n tags: {\n foo: \"barr\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.licensemanager.LicenseConfiguration(\"example\",\n description=\"Example\",\n license_count=10,\n license_count_hard_limit=True,\n license_counting_type=\"Socket\",\n license_rules=[\"#minimumSockets=2\"],\n tags={\n \"foo\": \"barr\",\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.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Description = \"Example\",\n LicenseCount = 10,\n LicenseCountHardLimit = true,\n LicenseCountingType = \"Socket\",\n LicenseRules = new[]\n {\n \"#minimumSockets=2\",\n },\n Tags = \n {\n { \"foo\", \"barr\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tLicenseCount: pulumi.Int(10),\n\t\t\tLicenseCountHardLimit: pulumi.Bool(true),\n\t\t\tLicenseCountingType: pulumi.String(\"Socket\"),\n\t\t\tLicenseRules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"#minimumSockets=2\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"barr\"),\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.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\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 LicenseConfiguration(\"example\", LicenseConfigurationArgs.builder() \n .description(\"Example\")\n .licenseCount(10)\n .licenseCountHardLimit(true)\n .licenseCountingType(\"Socket\")\n .licenseRules(\"#minimumSockets=2\")\n .tags(Map.of(\"foo\", \"barr\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:licensemanager:LicenseConfiguration\n properties:\n description: Example\n licenseCount: 10\n licenseCountHardLimit: true\n licenseCountingType: Socket\n licenseRules:\n - '#minimumSockets=2'\n tags:\n foo: barr\n```\n{{% /example %}}\n{{% /examples %}}\n## Rules\n\nLicense rules should be in the format of `#RuleType=RuleValue`. Supported rule types:\n\n* `minimumVcpus` - Resource must have minimum vCPU count in order to use the license. Default: 1\n* `maximumVcpus` - Resource must have maximum vCPU count in order to use the license. Default: unbounded, limit: 10000\n* `minimumCores` - Resource must have minimum core count in order to use the license. Default: 1\n* `maximumCores` - Resource must have maximum core count in order to use the license. Default: unbounded, limit: 10000\n* `minimumSockets` - Resource must have minimum socket count in order to use the license. Default: 1\n* `maximumSockets` - Resource must have maximum socket count in order to use the license. Default: unbounded, limit: 10000\n* `allowedTenancy` - Defines where the license can be used. If set, restricts license usage to selected tenancies. Specify a comma delimited list of `EC2-Default`, `EC2-DedicatedHost`, `EC2-DedicatedInstance`\n\n\n## Import\n\nUsing `pulumi import`, import license configurations using the `id`. For example:\n\n```sh\n $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\n```\n ", + "description": "Provides a License Manager license configuration resource.\n\n\u003e **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.\u003cid\u003e` to recreate the resource instead.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.licensemanager.LicenseConfiguration(\"example\", {\n description: \"Example\",\n licenseCount: 10,\n licenseCountHardLimit: true,\n licenseCountingType: \"Socket\",\n licenseRules: [\"#minimumSockets=2\"],\n tags: {\n foo: \"barr\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.licensemanager.LicenseConfiguration(\"example\",\n description=\"Example\",\n license_count=10,\n license_count_hard_limit=True,\n license_counting_type=\"Socket\",\n license_rules=[\"#minimumSockets=2\"],\n tags={\n \"foo\": \"barr\",\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.LicenseManager.LicenseConfiguration(\"example\", new()\n {\n Description = \"Example\",\n LicenseCount = 10,\n LicenseCountHardLimit = true,\n LicenseCountingType = \"Socket\",\n LicenseRules = new[]\n {\n \"#minimumSockets=2\",\n },\n Tags = \n {\n { \"foo\", \"barr\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/licensemanager\"\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 := licensemanager.NewLicenseConfiguration(ctx, \"example\", \u0026licensemanager.LicenseConfigurationArgs{\n\t\t\tDescription: pulumi.String(\"Example\"),\n\t\t\tLicenseCount: pulumi.Int(10),\n\t\t\tLicenseCountHardLimit: pulumi.Bool(true),\n\t\t\tLicenseCountingType: pulumi.String(\"Socket\"),\n\t\t\tLicenseRules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"#minimumSockets=2\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"barr\"),\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.licensemanager.LicenseConfiguration;\nimport com.pulumi.aws.licensemanager.LicenseConfigurationArgs;\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 LicenseConfiguration(\"example\", LicenseConfigurationArgs.builder() \n .description(\"Example\")\n .licenseCount(10)\n .licenseCountHardLimit(true)\n .licenseCountingType(\"Socket\")\n .licenseRules(\"#minimumSockets=2\")\n .tags(Map.of(\"foo\", \"barr\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:licensemanager:LicenseConfiguration\n properties:\n description: Example\n licenseCount: 10\n licenseCountHardLimit: true\n licenseCountingType: Socket\n licenseRules:\n - '#minimumSockets=2'\n tags:\n foo: barr\n```\n{{% /example %}}\n{{% /examples %}}\n## Rules\n\nLicense rules should be in the format of `#RuleType=RuleValue`. Supported rule types:\n\n* `minimumVcpus` - Resource must have minimum vCPU count in order to use the license. Default: 1\n* `maximumVcpus` - Resource must have maximum vCPU count in order to use the license. Default: unbounded, limit: 10000\n* `minimumCores` - Resource must have minimum core count in order to use the license. Default: 1\n* `maximumCores` - Resource must have maximum core count in order to use the license. Default: unbounded, limit: 10000\n* `minimumSockets` - Resource must have minimum socket count in order to use the license. Default: 1\n* `maximumSockets` - Resource must have maximum socket count in order to use the license. Default: unbounded, limit: 10000\n* `allowedTenancy` - Defines where the license can be used. If set, restricts license usage to selected tenancies. Specify a comma delimited list of `EC2-Default`, `EC2-DedicatedHost`, `EC2-DedicatedInstance`\n\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import {\n\n to = aws_licensemanager_license_configuration.example\n\n id = \"arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef\" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef ", "properties": { "arn": { "type": "string", @@ -233490,7 +233814,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" + "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", @@ -233542,7 +233866,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" + "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": [ @@ -233593,7 +233917,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" + "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", @@ -247866,6 +248190,10 @@ "$ref": "#/types/aws:opensearch/DomainSnapshotOptions:DomainSnapshotOptions", "description": "Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots.\n" }, + "softwareUpdateOptions": { + "$ref": "#/types/aws:opensearch/DomainSoftwareUpdateOptions:DomainSoftwareUpdateOptions", + "description": "Software update options for the domain. Detailed below.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -247903,6 +248231,7 @@ "kibanaEndpoint", "nodeToNodeEncryption", "offPeakWindowOptions", + "softwareUpdateOptions", "tagsAll" ], "inputProperties": { @@ -247973,6 +248302,10 @@ "$ref": "#/types/aws:opensearch/DomainSnapshotOptions:DomainSnapshotOptions", "description": "Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots.\n" }, + "softwareUpdateOptions": { + "$ref": "#/types/aws:opensearch/DomainSoftwareUpdateOptions:DomainSoftwareUpdateOptions", + "description": "Software update options for the domain. Detailed below.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -248077,6 +248410,10 @@ "$ref": "#/types/aws:opensearch/DomainSnapshotOptions:DomainSnapshotOptions", "description": "Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots.\n" }, + "softwareUpdateOptions": { + "$ref": "#/types/aws:opensearch/DomainSoftwareUpdateOptions:DomainSoftwareUpdateOptions", + "description": "Software update options for the domain. Detailed below.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -255652,7 +255989,7 @@ } }, "aws:pinpoint/admChannel:AdmChannel": { - "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\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 app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder() \n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id\n```\n ", + "description": "Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource.\n\n\u003e **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.AdmChannel(\"channel\", {\n applicationId: app.applicationId,\n clientId: \"\",\n clientSecret: \"\",\n enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.AdmChannel(\"channel\",\n application_id=app.application_id,\n client_id=\"\",\n client_secret=\"\",\n enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.AdmChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ClientId = \"\",\n ClientSecret = \"\",\n Enabled = true,\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewAdmChannel(ctx, \"channel\", \u0026pinpoint.AdmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tClientId: pulumi.String(\"\"),\n\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.pinpoint.App;\nimport com.pulumi.aws.pinpoint.AdmChannel;\nimport com.pulumi.aws.pinpoint.AdmChannelArgs;\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 app = new App(\"app\");\n\n var channel = new AdmChannel(\"channel\", AdmChannelArgs.builder() \n .applicationId(app.applicationId())\n .clientId(\"\")\n .clientSecret(\"\")\n .enabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:AdmChannel\n properties:\n applicationId: ${app.applicationId}\n clientId:\n clientSecret:\n enabled: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_adm_channel.channel\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id ", "properties": { "applicationId": { "type": "string", @@ -255731,7 +256068,7 @@ } }, "aws:pinpoint/apnsChannel:ApnsChannel": { - "description": "Provides a Pinpoint APNs Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apns = new aws.pinpoint.ApnsChannel(\"apns\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns = aws.pinpoint.ApnsChannel(\"apns\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apns = new Aws.Pinpoint.ApnsChannel(\"apns\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsChannel(ctx, \"apns\", \u0026pinpoint.ApnsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsChannel;\nimport com.pulumi.aws.pinpoint.ApnsChannelArgs;\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 app = new App(\"app\");\n\n var apns = new ApnsChannel(\"apns\", ApnsChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apns:\n type: aws:pinpoint:ApnsChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id\n```\n ", + "description": "Provides a Pinpoint APNs Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apns = new aws.pinpoint.ApnsChannel(\"apns\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns = aws.pinpoint.ApnsChannel(\"apns\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apns = new Aws.Pinpoint.ApnsChannel(\"apns\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsChannel(ctx, \"apns\", \u0026pinpoint.ApnsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsChannel;\nimport com.pulumi.aws.pinpoint.ApnsChannelArgs;\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 app = new App(\"app\");\n\n var apns = new ApnsChannel(\"apns\", ApnsChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apns:\n type: aws:pinpoint:ApnsChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_apns_channel.apns\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id ", "properties": { "applicationId": { "type": "string", @@ -255878,7 +256215,7 @@ } }, "aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel": { - "description": "Provides a Pinpoint APNs Sandbox Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsSandbox = new aws.pinpoint.ApnsSandboxChannel(\"apnsSandbox\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns_sandbox = aws.pinpoint.ApnsSandboxChannel(\"apnsSandbox\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsSandbox = new Aws.Pinpoint.ApnsSandboxChannel(\"apnsSandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsSandboxChannel(ctx, \"apnsSandbox\", \u0026pinpoint.ApnsSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannelArgs;\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 app = new App(\"app\");\n\n var apnsSandbox = new ApnsSandboxChannel(\"apnsSandbox\", ApnsSandboxChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsSandbox:\n type: aws:pinpoint:ApnsSandboxChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id\n```\n ", + "description": "Provides a Pinpoint APNs Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsSandbox = new aws.pinpoint.ApnsSandboxChannel(\"apnsSandbox\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns_sandbox = aws.pinpoint.ApnsSandboxChannel(\"apnsSandbox\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsSandbox = new Aws.Pinpoint.ApnsSandboxChannel(\"apnsSandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsSandboxChannel(ctx, \"apnsSandbox\", \u0026pinpoint.ApnsSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsSandboxChannelArgs;\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 app = new App(\"app\");\n\n var apnsSandbox = new ApnsSandboxChannel(\"apnsSandbox\", ApnsSandboxChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsSandbox:\n type: aws:pinpoint:ApnsSandboxChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_apns_sandbox_channel.apns_sandbox\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id ", "properties": { "applicationId": { "type": "string", @@ -256025,7 +256362,7 @@ } }, "aws:pinpoint/apnsVoipChannel:ApnsVoipChannel": { - "description": "Provides a Pinpoint APNs VoIP Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoip = new aws.pinpoint.ApnsVoipChannel(\"apnsVoip\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns_voip = aws.pinpoint.ApnsVoipChannel(\"apnsVoip\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoip = new Aws.Pinpoint.ApnsVoipChannel(\"apnsVoip\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipChannel(ctx, \"apnsVoip\", \u0026pinpoint.ApnsVoipChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannelArgs;\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 app = new App(\"app\");\n\n var apnsVoip = new ApnsVoipChannel(\"apnsVoip\", ApnsVoipChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoip:\n type: aws:pinpoint:ApnsVoipChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id\n```\n ", + "description": "Provides a Pinpoint APNs VoIP Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoip = new aws.pinpoint.ApnsVoipChannel(\"apnsVoip\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns_voip = aws.pinpoint.ApnsVoipChannel(\"apnsVoip\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoip = new Aws.Pinpoint.ApnsVoipChannel(\"apnsVoip\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipChannel(ctx, \"apnsVoip\", \u0026pinpoint.ApnsVoipChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipChannelArgs;\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 app = new App(\"app\");\n\n var apnsVoip = new ApnsVoipChannel(\"apnsVoip\", ApnsVoipChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoip:\n type: aws:pinpoint:ApnsVoipChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_apns_voip_channel.apns_voip\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id ", "properties": { "applicationId": { "type": "string", @@ -256172,7 +256509,7 @@ } }, "aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel": { - "description": "Provides a Pinpoint APNs VoIP Sandbox Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoipSandbox = new aws.pinpoint.ApnsVoipSandboxChannel(\"apnsVoipSandbox\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns_voip_sandbox = aws.pinpoint.ApnsVoipSandboxChannel(\"apnsVoipSandbox\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoipSandbox = new Aws.Pinpoint.ApnsVoipSandboxChannel(\"apnsVoipSandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipSandboxChannel(ctx, \"apnsVoipSandbox\", \u0026pinpoint.ApnsVoipSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannelArgs;\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 app = new App(\"app\");\n\n var apnsVoipSandbox = new ApnsVoipSandboxChannel(\"apnsVoipSandbox\", ApnsVoipSandboxChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoipSandbox:\n type: aws:pinpoint:ApnsVoipSandboxChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id\n```\n ", + "description": "Provides a Pinpoint APNs VoIP Sandbox Channel resource.\n\n\u003e **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as fs from \"fs\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst apnsVoipSandbox = new aws.pinpoint.ApnsVoipSandboxChannel(\"apnsVoipSandbox\", {\n applicationId: app.applicationId,\n certificate: fs.readFileSync(\"./certificate.pem\"),\n privateKey: fs.readFileSync(\"./private_key.key\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\napns_voip_sandbox = aws.pinpoint.ApnsVoipSandboxChannel(\"apnsVoipSandbox\",\n application_id=app.application_id,\n certificate=(lambda path: open(path).read())(\"./certificate.pem\"),\n private_key=(lambda path: open(path).read())(\"./private_key.key\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var app = new Aws.Pinpoint.App(\"app\");\n\n var apnsVoipSandbox = new Aws.Pinpoint.ApnsVoipSandboxChannel(\"apnsVoipSandbox\", new()\n {\n ApplicationId = app.ApplicationId,\n Certificate = File.ReadAllText(\"./certificate.pem\"),\n PrivateKey = File.ReadAllText(\"./private_key.key\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\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 readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewApnsVoipSandboxChannel(ctx, \"apnsVoipSandbox\", \u0026pinpoint.ApnsVoipSandboxChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tCertificate: readFileOrPanic(\"./certificate.pem\"),\n\t\t\tPrivateKey: readFileOrPanic(\"./private_key.key\"),\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.App;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannel;\nimport com.pulumi.aws.pinpoint.ApnsVoipSandboxChannelArgs;\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 app = new App(\"app\");\n\n var apnsVoipSandbox = new ApnsVoipSandboxChannel(\"apnsVoipSandbox\", ApnsVoipSandboxChannelArgs.builder() \n .applicationId(app.applicationId())\n .certificate(Files.readString(Paths.get(\"./certificate.pem\")))\n .privateKey(Files.readString(Paths.get(\"./private_key.key\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsVoipSandbox:\n type: aws:pinpoint:ApnsVoipSandboxChannel\n properties:\n applicationId: ${app.applicationId}\n certificate:\n fn::readFile: ./certificate.pem\n privateKey:\n fn::readFile: ./private_key.key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id ", "properties": { "applicationId": { "type": "string", @@ -256319,7 +256656,7 @@ } }, "aws:pinpoint/app:App": { - "description": "Provides a Pinpoint App resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pinpoint.App(\"example\", {\n limits: {\n maximumDuration: 600,\n },\n quietTime: {\n end: \"06:00\",\n start: \"00:00\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pinpoint.App(\"example\",\n limits=aws.pinpoint.AppLimitsArgs(\n maximum_duration=600,\n ),\n quiet_time=aws.pinpoint.AppQuietTimeArgs(\n end=\"06:00\",\n start=\"00:00\",\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.Pinpoint.App(\"example\", new()\n {\n Limits = new Aws.Pinpoint.Inputs.AppLimitsArgs\n {\n MaximumDuration = 600,\n },\n QuietTime = new Aws.Pinpoint.Inputs.AppQuietTimeArgs\n {\n End = \"06:00\",\n Start = \"00:00\",\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.NewApp(ctx, \"example\", \u0026pinpoint.AppArgs{\n\t\t\tLimits: \u0026pinpoint.AppLimitsArgs{\n\t\t\t\tMaximumDuration: pulumi.Int(600),\n\t\t\t},\n\t\t\tQuietTime: \u0026pinpoint.AppQuietTimeArgs{\n\t\t\t\tEnd: pulumi.String(\"06:00\"),\n\t\t\t\tStart: pulumi.String(\"00:00\"),\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.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppLimitsArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppQuietTimeArgs;\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 App(\"example\", AppArgs.builder() \n .limits(AppLimitsArgs.builder()\n .maximumDuration(600)\n .build())\n .quietTime(AppQuietTimeArgs.builder()\n .end(\"06:00\")\n .start(\"00:00\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pinpoint:App\n properties:\n limits:\n maximumDuration: 600\n quietTime:\n end: 06:00\n start: 00:00\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint App using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/app:App name application-id\n```\n ", + "description": "Provides a Pinpoint App resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.pinpoint.App(\"example\", {\n limits: {\n maximumDuration: 600,\n },\n quietTime: {\n end: \"06:00\",\n start: \"00:00\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.pinpoint.App(\"example\",\n limits=aws.pinpoint.AppLimitsArgs(\n maximum_duration=600,\n ),\n quiet_time=aws.pinpoint.AppQuietTimeArgs(\n end=\"06:00\",\n start=\"00:00\",\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.Pinpoint.App(\"example\", new()\n {\n Limits = new Aws.Pinpoint.Inputs.AppLimitsArgs\n {\n MaximumDuration = 600,\n },\n QuietTime = new Aws.Pinpoint.Inputs.AppQuietTimeArgs\n {\n End = \"06:00\",\n Start = \"00:00\",\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.NewApp(ctx, \"example\", \u0026pinpoint.AppArgs{\n\t\t\tLimits: \u0026pinpoint.AppLimitsArgs{\n\t\t\t\tMaximumDuration: pulumi.Int(600),\n\t\t\t},\n\t\t\tQuietTime: \u0026pinpoint.AppQuietTimeArgs{\n\t\t\t\tEnd: pulumi.String(\"06:00\"),\n\t\t\t\tStart: pulumi.String(\"00:00\"),\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.App;\nimport com.pulumi.aws.pinpoint.AppArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppLimitsArgs;\nimport com.pulumi.aws.pinpoint.inputs.AppQuietTimeArgs;\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 App(\"example\", AppArgs.builder() \n .limits(AppLimitsArgs.builder()\n .maximumDuration(600)\n .build())\n .quietTime(AppQuietTimeArgs.builder()\n .end(\"06:00\")\n .start(\"00:00\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:pinpoint:App\n properties:\n limits:\n maximumDuration: 600\n quietTime:\n end: 06:00\n start: 00:00\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_app.name\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id ", "properties": { "applicationId": { "type": "string", @@ -256339,7 +256676,7 @@ }, "name": { "type": "string", - "description": "The application name. By default generated by this provider\n" + "description": "The application name. By default generated by TODO\n" }, "namePrefix": { "type": "string", @@ -256354,7 +256691,7 @@ "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" + "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", @@ -256381,7 +256718,7 @@ }, "name": { "type": "string", - "description": "The application name. By default generated by this provider\n", + "description": "The application name. By default generated by TODO\n", "willReplaceOnChanges": true }, "namePrefix": { @@ -256398,7 +256735,7 @@ "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" + "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": { @@ -256422,7 +256759,7 @@ }, "name": { "type": "string", - "description": "The application name. By default generated by this provider\n", + "description": "The application name. By default generated by TODO\n", "willReplaceOnChanges": true }, "namePrefix": { @@ -256439,7 +256776,7 @@ "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" + "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", @@ -256453,7 +256790,7 @@ } }, "aws:pinpoint/baiduChannel:BaiduChannel": { - "description": "Provides a Pinpoint Baidu Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\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 app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\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 app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id\n```\n ", + "description": "Provides a Pinpoint Baidu Channel resource.\n\n\u003e **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst channel = new aws.pinpoint.BaiduChannel(\"channel\", {\n applicationId: app.applicationId,\n apiKey: \"\",\n secretKey: \"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nchannel = aws.pinpoint.BaiduChannel(\"channel\",\n application_id=app.application_id,\n api_key=\"\",\n secret_key=\"\")\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 app = new Aws.Pinpoint.App(\"app\");\n\n var channel = new Aws.Pinpoint.BaiduChannel(\"channel\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"\",\n SecretKey = \"\",\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewBaiduChannel(ctx, \"channel\", \u0026pinpoint.BaiduChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"\"),\n\t\t\tSecretKey: pulumi.String(\"\"),\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.App;\nimport com.pulumi.aws.pinpoint.BaiduChannel;\nimport com.pulumi.aws.pinpoint.BaiduChannelArgs;\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 app = new App(\"app\");\n\n var channel = new BaiduChannel(\"channel\", BaiduChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"\")\n .secretKey(\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: aws:pinpoint:App\n channel:\n type: aws:pinpoint:BaiduChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey:\n secretKey:\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_baidu_channel.channel\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id ", "properties": { "apiKey": { "type": "string", @@ -256532,7 +256869,7 @@ } }, "aws:pinpoint/emailChannel:EmailChannel": { - "description": "Provides a Pinpoint Email Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst email = new aws.pinpoint.EmailChannel(\"email\", {\n applicationId: app.applicationId,\n fromAddress: \"user@example.com\",\n roleArn: role.arn,\n});\nconst identity = new aws.ses.DomainIdentity(\"identity\", {domain: \"example.com\"});\nconst rolePolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources: [\"*\"],\n }],\n});\nconst rolePolicyRolePolicy = new aws.iam.RolePolicy(\"rolePolicyRolePolicy\", {\n role: role.id,\n policy: rolePolicyPolicyDocument.then(rolePolicyPolicyDocument =\u003e rolePolicyPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nemail = aws.pinpoint.EmailChannel(\"email\",\n application_id=app.application_id,\n from_address=\"user@example.com\",\n role_arn=role.arn)\nidentity = aws.ses.DomainIdentity(\"identity\", domain=\"example.com\")\nrole_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources=[\"*\"],\n)])\nrole_policy_role_policy = aws.iam.RolePolicy(\"rolePolicyRolePolicy\",\n role=role.id,\n policy=role_policy_policy_document.json)\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 app = new Aws.Pinpoint.App(\"app\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var email = new Aws.Pinpoint.EmailChannel(\"email\", new()\n {\n ApplicationId = app.ApplicationId,\n FromAddress = \"user@example.com\",\n RoleArn = role.Arn,\n });\n\n var identity = new Aws.Ses.DomainIdentity(\"identity\", new()\n {\n Domain = \"example.com\",\n });\n\n var rolePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var rolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"rolePolicyRolePolicy\", new()\n {\n Role = role.Id,\n Policy = rolePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEmailChannel(ctx, \"email\", \u0026pinpoint.EmailChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tFromAddress: pulumi.String(\"user@example.com\"),\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentity(ctx, \"identity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trolePolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"mobileanalytics:PutEvents\",\n\t\t\t\t\t\t\"mobileanalytics:PutItems\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"rolePolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: *pulumi.String(rolePolicyPolicyDocument.Json),\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.App;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EmailChannel;\nimport com.pulumi.aws.pinpoint.EmailChannelArgs;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 app = new App(\"app\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var email = new EmailChannel(\"email\", EmailChannelArgs.builder() \n .applicationId(app.applicationId())\n .fromAddress(\"user@example.com\")\n .roleArn(role.arn())\n .build());\n\n var identity = new DomainIdentity(\"identity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n final var rolePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\")\n .resources(\"*\")\n .build())\n .build());\n\n var rolePolicyRolePolicy = new RolePolicy(\"rolePolicyRolePolicy\", RolePolicyArgs.builder() \n .role(role.id())\n .policy(rolePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n email:\n type: aws:pinpoint:EmailChannel\n properties:\n applicationId: ${app.applicationId}\n fromAddress: user@example.com\n roleArn: ${role.arn}\n app:\n type: aws:pinpoint:App\n identity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n rolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${role.id}\n policy: ${rolePolicyPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.amazonaws.com\n actions:\n - sts:AssumeRole\n rolePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobileanalytics:PutEvents\n - mobileanalytics:PutItems\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id\n```\n ", + "description": "Provides a Pinpoint Email Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst role = new aws.iam.Role(\"role\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst email = new aws.pinpoint.EmailChannel(\"email\", {\n applicationId: app.applicationId,\n fromAddress: \"user@example.com\",\n roleArn: role.arn,\n});\nconst identity = new aws.ses.DomainIdentity(\"identity\", {domain: \"example.com\"});\nconst rolePolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources: [\"*\"],\n }],\n});\nconst rolePolicyRolePolicy = new aws.iam.RolePolicy(\"rolePolicyRolePolicy\", {\n role: role.id,\n policy: rolePolicyPolicyDocument.then(rolePolicyPolicyDocument =\u003e rolePolicyPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nrole = aws.iam.Role(\"role\", assume_role_policy=assume_role.json)\nemail = aws.pinpoint.EmailChannel(\"email\",\n application_id=app.application_id,\n from_address=\"user@example.com\",\n role_arn=role.arn)\nidentity = aws.ses.DomainIdentity(\"identity\", domain=\"example.com\")\nrole_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n ],\n resources=[\"*\"],\n)])\nrole_policy_role_policy = aws.iam.RolePolicy(\"rolePolicyRolePolicy\",\n role=role.id,\n policy=role_policy_policy_document.json)\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 app = new Aws.Pinpoint.App(\"app\");\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var role = new Aws.Iam.Role(\"role\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var email = new Aws.Pinpoint.EmailChannel(\"email\", new()\n {\n ApplicationId = app.ApplicationId,\n FromAddress = \"user@example.com\",\n RoleArn = role.Arn,\n });\n\n var identity = new Aws.Ses.DomainIdentity(\"identity\", new()\n {\n Domain = \"example.com\",\n });\n\n var rolePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var rolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"rolePolicyRolePolicy\", new()\n {\n Role = role.Id,\n Policy = rolePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/pinpoint\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trole, err := iam.NewRole(ctx, \"role\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEmailChannel(ctx, \"email\", \u0026pinpoint.EmailChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tFromAddress: pulumi.String(\"user@example.com\"),\n\t\t\tRoleArn: role.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ses.NewDomainIdentity(ctx, \"identity\", \u0026ses.DomainIdentityArgs{\n\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trolePolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"mobileanalytics:PutEvents\",\n\t\t\t\t\t\t\"mobileanalytics:PutItems\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"rolePolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: role.ID(),\n\t\t\tPolicy: *pulumi.String(rolePolicyPolicyDocument.Json),\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.App;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EmailChannel;\nimport com.pulumi.aws.pinpoint.EmailChannelArgs;\nimport com.pulumi.aws.ses.DomainIdentity;\nimport com.pulumi.aws.ses.DomainIdentityArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 app = new App(\"app\");\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var role = new Role(\"role\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var email = new EmailChannel(\"email\", EmailChannelArgs.builder() \n .applicationId(app.applicationId())\n .fromAddress(\"user@example.com\")\n .roleArn(role.arn())\n .build());\n\n var identity = new DomainIdentity(\"identity\", DomainIdentityArgs.builder() \n .domain(\"example.com\")\n .build());\n\n final var rolePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"mobileanalytics:PutEvents\",\n \"mobileanalytics:PutItems\")\n .resources(\"*\")\n .build())\n .build());\n\n var rolePolicyRolePolicy = new RolePolicy(\"rolePolicyRolePolicy\", RolePolicyArgs.builder() \n .role(role.id())\n .policy(rolePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n email:\n type: aws:pinpoint:EmailChannel\n properties:\n applicationId: ${app.applicationId}\n fromAddress: user@example.com\n roleArn: ${role.arn}\n app:\n type: aws:pinpoint:App\n identity:\n type: aws:ses:DomainIdentity\n properties:\n domain: example.com\n role:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n rolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${role.id}\n policy: ${rolePolicyPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.amazonaws.com\n actions:\n - sts:AssumeRole\n rolePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - mobileanalytics:PutEvents\n - mobileanalytics:PutItems\n resources:\n - '*'\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_email_channel.email\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id ", "properties": { "applicationId": { "type": "string", @@ -256638,7 +256975,7 @@ } }, "aws:pinpoint/eventStream:EventStream": { - "description": "Provides a Pinpoint Event Stream resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst testStream = new aws.kinesis.Stream(\"testStream\", {shardCount: 1});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"testRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst stream = new aws.pinpoint.EventStream(\"stream\", {\n applicationId: app.applicationId,\n destinationStreamArn: testStream.arn,\n roleArn: testRole.arn,\n});\nconst testRolePolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources: [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n }],\n});\nconst testRolePolicyRolePolicy = new aws.iam.RolePolicy(\"testRolePolicyRolePolicy\", {\n role: testRole.id,\n policy: testRolePolicyPolicyDocument.then(testRolePolicyPolicyDocument =\u003e testRolePolicyPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ntest_stream = aws.kinesis.Stream(\"testStream\", shard_count=1)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.us-east-1.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"testRole\", assume_role_policy=assume_role.json)\nstream = aws.pinpoint.EventStream(\"stream\",\n application_id=app.application_id,\n destination_stream_arn=test_stream.arn,\n role_arn=test_role.arn)\ntest_role_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources=[\"arn:aws:kinesis:us-east-1:*:*/*\"],\n)])\ntest_role_policy_role_policy = aws.iam.RolePolicy(\"testRolePolicyRolePolicy\",\n role=test_role.id,\n policy=test_role_policy_policy_document.json)\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 app = new Aws.Pinpoint.App(\"app\");\n\n var testStream = new Aws.Kinesis.Stream(\"testStream\", new()\n {\n ShardCount = 1,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.us-east-1.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"testRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var stream = new Aws.Pinpoint.EventStream(\"stream\", new()\n {\n ApplicationId = app.ApplicationId,\n DestinationStreamArn = testStream.Arn,\n RoleArn = testRole.Arn,\n });\n\n var testRolePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n },\n Resources = new[]\n {\n \"arn:aws:kinesis:us-east-1:*:*/*\",\n },\n },\n },\n });\n\n var testRolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"testRolePolicyRolePolicy\", new()\n {\n Role = testRole.Id,\n Policy = testRolePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"testStream\", \u0026kinesis.StreamArgs{\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.us-east-1.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"testRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEventStream(ctx, \"stream\", \u0026pinpoint.EventStreamArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tDestinationStreamArn: testStream.Arn,\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRolePolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kinesis:PutRecords\",\n\t\t\t\t\t\t\"kinesis:DescribeStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:kinesis:us-east-1:*:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"testRolePolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: *pulumi.String(testRolePolicyPolicyDocument.Json),\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.App;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EventStream;\nimport com.pulumi.aws.pinpoint.EventStreamArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 app = new App(\"app\");\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder() \n .shardCount(1)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.us-east-1.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var stream = new EventStream(\"stream\", EventStreamArgs.builder() \n .applicationId(app.applicationId())\n .destinationStreamArn(testStream.arn())\n .roleArn(testRole.arn())\n .build());\n\n final var testRolePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\")\n .resources(\"arn:aws:kinesis:us-east-1:*:*/*\")\n .build())\n .build());\n\n var testRolePolicyRolePolicy = new RolePolicy(\"testRolePolicyRolePolicy\", RolePolicyArgs.builder() \n .role(testRole.id())\n .policy(testRolePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stream:\n type: aws:pinpoint:EventStream\n properties:\n applicationId: ${app.applicationId}\n destinationStreamArn: ${testStream.arn}\n roleArn: ${testRole.arn}\n app:\n type: aws:pinpoint:App\n testStream:\n type: aws:kinesis:Stream\n properties:\n shardCount: 1\n testRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${testRole.id}\n policy: ${testRolePolicyPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.us-east-1.amazonaws.com\n actions:\n - sts:AssumeRole\n testRolePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:PutRecords\n - kinesis:DescribeStream\n resources:\n - arn:aws:kinesis:us-east-1:*:*/*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id\n```\n ", + "description": "Provides a Pinpoint Event Stream resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst testStream = new aws.kinesis.Stream(\"testStream\", {shardCount: 1});\nconst assumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"pinpoint.us-east-1.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst testRole = new aws.iam.Role(\"testRole\", {assumeRolePolicy: assumeRole.then(assumeRole =\u003e assumeRole.json)});\nconst stream = new aws.pinpoint.EventStream(\"stream\", {\n applicationId: app.applicationId,\n destinationStreamArn: testStream.arn,\n roleArn: testRole.arn,\n});\nconst testRolePolicyPolicyDocument = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources: [\"arn:aws:kinesis:us-east-1:*:*/*\"],\n }],\n});\nconst testRolePolicyRolePolicy = new aws.iam.RolePolicy(\"testRolePolicyRolePolicy\", {\n role: testRole.id,\n policy: testRolePolicyPolicyDocument.then(testRolePolicyPolicyDocument =\u003e testRolePolicyPolicyDocument.json),\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ntest_stream = aws.kinesis.Stream(\"testStream\", shard_count=1)\nassume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"pinpoint.us-east-1.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\ntest_role = aws.iam.Role(\"testRole\", assume_role_policy=assume_role.json)\nstream = aws.pinpoint.EventStream(\"stream\",\n application_id=app.application_id,\n destination_stream_arn=test_stream.arn,\n role_arn=test_role.arn)\ntest_role_policy_policy_document = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n ],\n resources=[\"arn:aws:kinesis:us-east-1:*:*/*\"],\n)])\ntest_role_policy_role_policy = aws.iam.RolePolicy(\"testRolePolicyRolePolicy\",\n role=test_role.id,\n policy=test_role_policy_policy_document.json)\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 app = new Aws.Pinpoint.App(\"app\");\n\n var testStream = new Aws.Kinesis.Stream(\"testStream\", new()\n {\n ShardCount = 1,\n });\n\n var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"pinpoint.us-east-1.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var testRole = new Aws.Iam.Role(\"testRole\", new()\n {\n AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var stream = new Aws.Pinpoint.EventStream(\"stream\", new()\n {\n ApplicationId = app.ApplicationId,\n DestinationStreamArn = testStream.Arn,\n RoleArn = testRole.Arn,\n });\n\n var testRolePolicyPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\",\n },\n Resources = new[]\n {\n \"arn:aws:kinesis:us-east-1:*:*/*\",\n },\n },\n },\n });\n\n var testRolePolicyRolePolicy = new Aws.Iam.RolePolicy(\"testRolePolicyRolePolicy\", new()\n {\n Role = testRole.Id,\n Policy = testRolePolicyPolicyDocument.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestStream, err := kinesis.NewStream(ctx, \"testStream\", \u0026kinesis.StreamArgs{\n\t\t\tShardCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tassumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"pinpoint.us-east-1.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRole, err := iam.NewRole(ctx, \"testRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: *pulumi.String(assumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewEventStream(ctx, \"stream\", \u0026pinpoint.EventStreamArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tDestinationStreamArn: testStream.Arn,\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestRolePolicyPolicyDocument, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"kinesis:PutRecords\",\n\t\t\t\t\t\t\"kinesis:DescribeStream\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:kinesis:us-east-1:*:*/*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"testRolePolicyRolePolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tRole: testRole.ID(),\n\t\t\tPolicy: *pulumi.String(testRolePolicyPolicyDocument.Json),\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.App;\nimport com.pulumi.aws.kinesis.Stream;\nimport com.pulumi.aws.kinesis.StreamArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.pinpoint.EventStream;\nimport com.pulumi.aws.pinpoint.EventStreamArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\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 app = new App(\"app\");\n\n var testStream = new Stream(\"testStream\", StreamArgs.builder() \n .shardCount(1)\n .build());\n\n final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"pinpoint.us-east-1.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var testRole = new Role(\"testRole\", RoleArgs.builder() \n .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var stream = new EventStream(\"stream\", EventStreamArgs.builder() \n .applicationId(app.applicationId())\n .destinationStreamArn(testStream.arn())\n .roleArn(testRole.arn())\n .build());\n\n final var testRolePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"kinesis:PutRecords\",\n \"kinesis:DescribeStream\")\n .resources(\"arn:aws:kinesis:us-east-1:*:*/*\")\n .build())\n .build());\n\n var testRolePolicyRolePolicy = new RolePolicy(\"testRolePolicyRolePolicy\", RolePolicyArgs.builder() \n .role(testRole.id())\n .policy(testRolePolicyPolicyDocument.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n stream:\n type: aws:pinpoint:EventStream\n properties:\n applicationId: ${app.applicationId}\n destinationStreamArn: ${testStream.arn}\n roleArn: ${testRole.arn}\n app:\n type: aws:pinpoint:App\n testStream:\n type: aws:kinesis:Stream\n properties:\n shardCount: 1\n testRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${assumeRole.json}\n testRolePolicyRolePolicy:\n type: aws:iam:RolePolicy\n properties:\n role: ${testRole.id}\n policy: ${testRolePolicyPolicyDocument.json}\nvariables:\n assumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - pinpoint.us-east-1.amazonaws.com\n actions:\n - sts:AssumeRole\n testRolePolicyPolicyDocument:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - kinesis:PutRecords\n - kinesis:DescribeStream\n resources:\n - arn:aws:kinesis:us-east-1:*:*/*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_event_stream.stream\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id ", "properties": { "applicationId": { "type": "string", @@ -256699,7 +257036,7 @@ } }, "aws:pinpoint/gcmChannel:GcmChannel": { - "description": "Provides a Pinpoint GCM Channel resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst gcm = new aws.pinpoint.GcmChannel(\"gcm\", {\n applicationId: app.applicationId,\n apiKey: \"api_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ngcm = aws.pinpoint.GcmChannel(\"gcm\",\n application_id=app.application_id,\n api_key=\"api_key\")\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 app = new Aws.Pinpoint.App(\"app\");\n\n var gcm = new Aws.Pinpoint.GcmChannel(\"gcm\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"api_key\",\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewGcmChannel(ctx, \"gcm\", \u0026pinpoint.GcmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"api_key\"),\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.App;\nimport com.pulumi.aws.pinpoint.GcmChannel;\nimport com.pulumi.aws.pinpoint.GcmChannelArgs;\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 app = new App(\"app\");\n\n var gcm = new GcmChannel(\"gcm\", GcmChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"api_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcm:\n type: aws:pinpoint:GcmChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey: api_key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id\n```\n ", + "description": "Provides a Pinpoint GCM Channel resource.\n\n\u003e **Note:** Api Key argument will be stored in the raw state as plain-text.\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst gcm = new aws.pinpoint.GcmChannel(\"gcm\", {\n applicationId: app.applicationId,\n apiKey: \"api_key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\ngcm = aws.pinpoint.GcmChannel(\"gcm\",\n application_id=app.application_id,\n api_key=\"api_key\")\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 app = new Aws.Pinpoint.App(\"app\");\n\n var gcm = new Aws.Pinpoint.GcmChannel(\"gcm\", new()\n {\n ApplicationId = app.ApplicationId,\n ApiKey = \"api_key\",\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewGcmChannel(ctx, \"gcm\", \u0026pinpoint.GcmChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\n\t\t\tApiKey: pulumi.String(\"api_key\"),\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.App;\nimport com.pulumi.aws.pinpoint.GcmChannel;\nimport com.pulumi.aws.pinpoint.GcmChannelArgs;\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 app = new App(\"app\");\n\n var gcm = new GcmChannel(\"gcm\", GcmChannelArgs.builder() \n .applicationId(app.applicationId())\n .apiKey(\"api_key\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcm:\n type: aws:pinpoint:GcmChannel\n properties:\n applicationId: ${app.applicationId}\n apiKey: api_key\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import {\n\n to = aws_pinpoint_gcm_channel.gcm\n\n id = \"application-id\" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id ", "properties": { "apiKey": { "type": "string", @@ -256761,7 +257098,7 @@ } }, "aws:pinpoint/smsChannel:SmsChannel": { - "description": "Use the `aws.pinpoint.SmsChannel` resource to manage Pinpoint SMS Channels.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst sms = new aws.pinpoint.SmsChannel(\"sms\", {applicationId: app.applicationId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nsms = aws.pinpoint.SmsChannel(\"sms\", application_id=app.application_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 app = new Aws.Pinpoint.App(\"app\");\n\n var sms = new Aws.Pinpoint.SmsChannel(\"sms\", new()\n {\n ApplicationId = app.ApplicationId,\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewSmsChannel(ctx, \"sms\", \u0026pinpoint.SmsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\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.App;\nimport com.pulumi.aws.pinpoint.SmsChannel;\nimport com.pulumi.aws.pinpoint.SmsChannelArgs;\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 app = new App(\"app\");\n\n var sms = new SmsChannel(\"sms\", SmsChannelArgs.builder() \n .applicationId(app.applicationId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sms:\n type: aws:pinpoint:SmsChannel\n properties:\n applicationId: ${app.applicationId}\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example:\n\n```sh\n $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id\n```\n ", + "description": "Use the `aws.pinpoint.SmsChannel` resource to manage Pinpoint SMS Channels.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst app = new aws.pinpoint.App(\"app\", {});\nconst sms = new aws.pinpoint.SmsChannel(\"sms\", {applicationId: app.applicationId});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napp = aws.pinpoint.App(\"app\")\nsms = aws.pinpoint.SmsChannel(\"sms\", application_id=app.application_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 app = new Aws.Pinpoint.App(\"app\");\n\n var sms = new Aws.Pinpoint.SmsChannel(\"sms\", new()\n {\n ApplicationId = app.ApplicationId,\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\tapp, err := pinpoint.NewApp(ctx, \"app\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = pinpoint.NewSmsChannel(ctx, \"sms\", \u0026pinpoint.SmsChannelArgs{\n\t\t\tApplicationId: app.ApplicationId,\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.App;\nimport com.pulumi.aws.pinpoint.SmsChannel;\nimport com.pulumi.aws.pinpoint.SmsChannelArgs;\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 app = new App(\"app\");\n\n var sms = new SmsChannel(\"sms\", SmsChannelArgs.builder() \n .applicationId(app.applicationId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n sms:\n type: aws:pinpoint:SmsChannel\n properties:\n applicationId: ${app.applicationId}\n app:\n type: aws:pinpoint:App\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import {\n\n to = aws_pinpoint_sms_channel.sms\n\n id = \"application-id\" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id ", "properties": { "applicationId": { "type": "string", @@ -260223,7 +260560,7 @@ } }, "aws:ram/principalAssociation:PrincipalAssociation": { - "description": "Provides a Resource Access Manager (RAM) principal association. Depending if [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), the RAM behavior with different principal types changes.\n\nWhen RAM Sharing with AWS Organizations is enabled:\n\n- For AWS Account ID, Organization, and Organizational Unit principals within the same AWS Organization, no resource share invitation is sent and resources become available automatically after creating the association.\n- For AWS Account ID principals outside the AWS Organization, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\nWhen RAM Sharing with AWS Organizations is not enabled:\n\n- Organization and Organizational Unit principals cannot be used.\n- For AWS Account ID principals, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AWS Account ID\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleResourceShare = new aws.ram.ResourceShare(\"exampleResourceShare\", {allowExternalPrincipals: true});\nconst examplePrincipalAssociation = new aws.ram.PrincipalAssociation(\"examplePrincipalAssociation\", {\n principal: \"111111111111\",\n resourceShareArn: exampleResourceShare.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_resource_share = aws.ram.ResourceShare(\"exampleResourceShare\", allow_external_principals=True)\nexample_principal_association = aws.ram.PrincipalAssociation(\"examplePrincipalAssociation\",\n principal=\"111111111111\",\n resource_share_arn=example_resource_share.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceShare = new Aws.Ram.ResourceShare(\"exampleResourceShare\", new()\n {\n AllowExternalPrincipals = true,\n });\n\n var examplePrincipalAssociation = new Aws.Ram.PrincipalAssociation(\"examplePrincipalAssociation\", new()\n {\n Principal = \"111111111111\",\n ResourceShareArn = exampleResourceShare.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceShare, err := ram.NewResourceShare(ctx, \"exampleResourceShare\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewPrincipalAssociation(ctx, \"examplePrincipalAssociation\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(\"111111111111\"),\n\t\t\tResourceShareArn: exampleResourceShare.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\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 exampleResourceShare = new ResourceShare(\"exampleResourceShare\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .build());\n\n var examplePrincipalAssociation = new PrincipalAssociation(\"examplePrincipalAssociation\", PrincipalAssociationArgs.builder() \n .principal(\"111111111111\")\n .resourceShareArn(exampleResourceShare.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceShare:\n type: aws:ram:ResourceShare\n properties:\n # ... other configuration ...\n allowExternalPrincipals: true\n examplePrincipalAssociation:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: '111111111111'\n resourceShareArn: ${exampleResourceShare.arn}\n```\n{{% /example %}}\n{{% example %}}\n### AWS Organization\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.PrincipalAssociation(\"example\", {\n principal: aws_organizations_organization.example.arn,\n resourceShareArn: aws_ram_resource_share.example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.PrincipalAssociation(\"example\",\n principal=aws_organizations_organization[\"example\"][\"arn\"],\n resource_share_arn=aws_ram_resource_share[\"example\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.PrincipalAssociation(\"example\", new()\n {\n Principal = aws_organizations_organization.Example.Arn,\n ResourceShareArn = aws_ram_resource_share.Example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.NewPrincipalAssociation(ctx, \"example\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.Any(aws_organizations_organization.Example.Arn),\n\t\t\tResourceShareArn: pulumi.Any(aws_ram_resource_share.Example.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\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 PrincipalAssociation(\"example\", PrincipalAssociationArgs.builder() \n .principal(aws_organizations_organization.example().arn())\n .resourceShareArn(aws_ram_resource_share.example().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: ${aws_organizations_organization.example.arn}\n resourceShareArn: ${aws_ram_resource_share.example.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:\n\n```sh\n $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012\n```\n ", + "description": "Provides a Resource Access Manager (RAM) principal association. Depending if [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), the RAM behavior with different principal types changes.\n\nWhen RAM Sharing with AWS Organizations is enabled:\n\n- For AWS Account ID, Organization, and Organizational Unit principals within the same AWS Organization, no resource share invitation is sent and resources become available automatically after creating the association.\n- For AWS Account ID principals outside the AWS Organization, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\nWhen RAM Sharing with AWS Organizations is not enabled:\n\n- Organization and Organizational Unit principals cannot be used.\n- For AWS Account ID principals, a resource share invitation is sent and must be accepted before resources become available. See the `aws.ram.ResourceShareAccepter` resource to accept these invitations.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### AWS Account ID\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleResourceShare = new aws.ram.ResourceShare(\"exampleResourceShare\", {allowExternalPrincipals: true});\nconst examplePrincipalAssociation = new aws.ram.PrincipalAssociation(\"examplePrincipalAssociation\", {\n principal: \"111111111111\",\n resourceShareArn: exampleResourceShare.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_resource_share = aws.ram.ResourceShare(\"exampleResourceShare\", allow_external_principals=True)\nexample_principal_association = aws.ram.PrincipalAssociation(\"examplePrincipalAssociation\",\n principal=\"111111111111\",\n resource_share_arn=example_resource_share.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleResourceShare = new Aws.Ram.ResourceShare(\"exampleResourceShare\", new()\n {\n AllowExternalPrincipals = true,\n });\n\n var examplePrincipalAssociation = new Aws.Ram.PrincipalAssociation(\"examplePrincipalAssociation\", new()\n {\n Principal = \"111111111111\",\n ResourceShareArn = exampleResourceShare.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResourceShare, err := ram.NewResourceShare(ctx, \"exampleResourceShare\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewPrincipalAssociation(ctx, \"examplePrincipalAssociation\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.String(\"111111111111\"),\n\t\t\tResourceShareArn: exampleResourceShare.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\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 exampleResourceShare = new ResourceShare(\"exampleResourceShare\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .build());\n\n var examplePrincipalAssociation = new PrincipalAssociation(\"examplePrincipalAssociation\", PrincipalAssociationArgs.builder() \n .principal(\"111111111111\")\n .resourceShareArn(exampleResourceShare.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResourceShare:\n type: aws:ram:ResourceShare\n properties:\n # ... other configuration ...\n allowExternalPrincipals: true\n examplePrincipalAssociation:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: '111111111111'\n resourceShareArn: ${exampleResourceShare.arn}\n```\n{{% /example %}}\n{{% example %}}\n### AWS Organization\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.PrincipalAssociation(\"example\", {\n principal: aws_organizations_organization.example.arn,\n resourceShareArn: aws_ram_resource_share.example.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.PrincipalAssociation(\"example\",\n principal=aws_organizations_organization[\"example\"][\"arn\"],\n resource_share_arn=aws_ram_resource_share[\"example\"][\"arn\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Ram.PrincipalAssociation(\"example\", new()\n {\n Principal = aws_organizations_organization.Example.Arn,\n ResourceShareArn = aws_ram_resource_share.Example.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.NewPrincipalAssociation(ctx, \"example\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: pulumi.Any(aws_organizations_organization.Example.Arn),\n\t\t\tResourceShareArn: pulumi.Any(aws_ram_resource_share.Example.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\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 PrincipalAssociation(\"example\", PrincipalAssociationArgs.builder() \n .principal(aws_organizations_organization.example().arn())\n .resourceShareArn(aws_ram_resource_share.example().arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: ${aws_organizations_organization.example.arn}\n resourceShareArn: ${aws_ram_resource_share.example.arn}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import {\n\n to = aws_ram_principal_association.example\n\n id = \"arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012\" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 ", "properties": { "principal": { "type": "string", @@ -260321,7 +260658,7 @@ } }, "aws:ram/resourceShare:ResourceShare": { - "description": "Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the `aws.ram.PrincipalAssociation` resource. To associate resources with the share, see the `aws.ram.ResourceAssociation` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {\n allowExternalPrincipals: true,\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\",\n allow_external_principals=True,\n tags={\n \"Environment\": \"Production\",\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.Ram.ResourceShare(\"example\", new()\n {\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\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.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\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 ResourceShare(\"example\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .tags(Map.of(\"Environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n tags:\n Environment: Production\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import resource shares using the `arn` of the resource share. For example:\n\n```sh\n $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12\n```\n ", + "description": "Manages a Resource Access Manager (RAM) Resource Share. To associate principals with the share, see the `aws.ram.PrincipalAssociation` resource. To associate resources with the share, see the `aws.ram.ResourceAssociation` resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.ram.ResourceShare(\"example\", {\n allowExternalPrincipals: true,\n tags: {\n Environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ram.ResourceShare(\"example\",\n allow_external_principals=True,\n tags={\n \"Environment\": \"Production\",\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.Ram.ResourceShare(\"example\", new()\n {\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := ram.NewResourceShare(ctx, \"example\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Production\"),\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.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\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 ResourceShare(\"example\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .tags(Map.of(\"Environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n tags:\n Environment: Production\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import {\n\n to = aws_ram_resource_share.example\n\n id = \"arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12\" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 ", "properties": { "allowExternalPrincipals": { "type": "boolean", @@ -260430,7 +260767,7 @@ } }, "aws:ram/resourceShareAccepter:ResourceShareAccepter": { - "description": "Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a _receiver_ AWS account, accept an invitation to share resources that were shared by a _sender_ AWS account. To create a resource share in the _sender_, see the `aws.ram.ResourceShare` resource.\n\n\u003e **Note:** If both AWS accounts are in the same Organization and [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), this resource is not necessary as RAM Resource Share invitations are not used.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alternate = new aws.Provider(\"alternate\", {profile: \"profile1\"});\nconst senderShare = new aws.ram.ResourceShare(\"senderShare\", {\n allowExternalPrincipals: true,\n tags: {\n Name: \"tf-test-resource-share\",\n },\n}, {\n provider: aws.alternate,\n});\nconst receiver = aws.getCallerIdentity({});\nconst senderInvite = new aws.ram.PrincipalAssociation(\"senderInvite\", {\n principal: receiver.then(receiver =\u003e receiver.accountId),\n resourceShareArn: senderShare.arn,\n}, {\n provider: aws.alternate,\n});\nconst receiverAccept = new aws.ram.ResourceShareAccepter(\"receiverAccept\", {shareArn: senderInvite.resourceShareArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalternate = aws.Provider(\"alternate\", profile=\"profile1\")\nsender_share = aws.ram.ResourceShare(\"senderShare\",\n allow_external_principals=True,\n tags={\n \"Name\": \"tf-test-resource-share\",\n },\n opts=pulumi.ResourceOptions(provider=aws[\"alternate\"]))\nreceiver = aws.get_caller_identity()\nsender_invite = aws.ram.PrincipalAssociation(\"senderInvite\",\n principal=receiver.account_id,\n resource_share_arn=sender_share.arn,\n opts=pulumi.ResourceOptions(provider=aws[\"alternate\"]))\nreceiver_accept = aws.ram.ResourceShareAccepter(\"receiverAccept\", share_arn=sender_invite.resource_share_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alternate = new Aws.Provider(\"alternate\", new()\n {\n Profile = \"profile1\",\n });\n\n var senderShare = new Aws.Ram.ResourceShare(\"senderShare\", new()\n {\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Name\", \"tf-test-resource-share\" },\n },\n }, new CustomResourceOptions\n {\n Provider = aws.Alternate,\n });\n\n var receiver = Aws.GetCallerIdentity.Invoke();\n\n var senderInvite = new Aws.Ram.PrincipalAssociation(\"senderInvite\", new()\n {\n Principal = receiver.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n ResourceShareArn = senderShare.Arn,\n }, new CustomResourceOptions\n {\n Provider = aws.Alternate,\n });\n\n var receiverAccept = new Aws.Ram.ResourceShareAccepter(\"receiverAccept\", new()\n {\n ShareArn = senderInvite.ResourceShareArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := aws.NewProvider(ctx, \"alternate\", \u0026aws.ProviderArgs{\n\t\t\tProfile: pulumi.String(\"profile1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderShare, err := ram.NewResourceShare(ctx, \"senderShare\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-resource-share\"),\n\t\t\t},\n\t\t}, pulumi.Provider(aws.Alternate))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treceiver, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderInvite, err := ram.NewPrincipalAssociation(ctx, \"senderInvite\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: *pulumi.String(receiver.AccountId),\n\t\t\tResourceShareArn: senderShare.Arn,\n\t\t}, pulumi.Provider(aws.Alternate))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewResourceShareAccepter(ctx, \"receiverAccept\", \u0026ram.ResourceShareAccepterArgs{\n\t\t\tShareArn: senderInvite.ResourceShareArn,\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.Provider;\nimport com.pulumi.aws.ProviderArgs;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceShareAccepter;\nimport com.pulumi.aws.ram.ResourceShareAccepterArgs;\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 alternate = new Provider(\"alternate\", ProviderArgs.builder() \n .profile(\"profile1\")\n .build());\n\n var senderShare = new ResourceShare(\"senderShare\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .tags(Map.of(\"Name\", \"tf-test-resource-share\"))\n .build(), CustomResourceOptions.builder()\n .provider(aws.alternate())\n .build());\n\n final var receiver = AwsFunctions.getCallerIdentity();\n\n var senderInvite = new PrincipalAssociation(\"senderInvite\", PrincipalAssociationArgs.builder() \n .principal(receiver.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceShareArn(senderShare.arn())\n .build(), CustomResourceOptions.builder()\n .provider(aws.alternate())\n .build());\n\n var receiverAccept = new ResourceShareAccepter(\"receiverAccept\", ResourceShareAccepterArgs.builder() \n .shareArn(senderInvite.resourceShareArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alternate:\n type: pulumi:providers:aws\n properties:\n profile: profile1\n senderShare:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n tags:\n Name: tf-test-resource-share\n options:\n provider: ${aws.alternate}\n senderInvite:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: ${receiver.accountId}\n resourceShareArn: ${senderShare.arn}\n options:\n provider: ${aws.alternate}\n receiverAccept:\n type: aws:ram:ResourceShareAccepter\n properties:\n shareArn: ${senderInvite.resourceShareArn}\nvariables:\n receiver:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import resource share accepters using the resource share ARN. For example:\n\n```sh\n $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767\n```\n ", + "description": "Manage accepting a Resource Access Manager (RAM) Resource Share invitation. From a _receiver_ AWS account, accept an invitation to share resources that were shared by a _sender_ AWS account. To create a resource share in the _sender_, see the `aws.ram.ResourceShare` resource.\n\n\u003e **Note:** If both AWS accounts are in the same Organization and [RAM Sharing with AWS Organizations is enabled](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs), this resource is not necessary as RAM Resource Share invitations are not used.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThis configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst alternate = new aws.Provider(\"alternate\", {profile: \"profile1\"});\nconst senderShare = new aws.ram.ResourceShare(\"senderShare\", {\n allowExternalPrincipals: true,\n tags: {\n Name: \"tf-test-resource-share\",\n },\n}, {\n provider: aws.alternate,\n});\nconst receiver = aws.getCallerIdentity({});\nconst senderInvite = new aws.ram.PrincipalAssociation(\"senderInvite\", {\n principal: receiver.then(receiver =\u003e receiver.accountId),\n resourceShareArn: senderShare.arn,\n}, {\n provider: aws.alternate,\n});\nconst receiverAccept = new aws.ram.ResourceShareAccepter(\"receiverAccept\", {shareArn: senderInvite.resourceShareArn});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nalternate = aws.Provider(\"alternate\", profile=\"profile1\")\nsender_share = aws.ram.ResourceShare(\"senderShare\",\n allow_external_principals=True,\n tags={\n \"Name\": \"tf-test-resource-share\",\n },\n opts=pulumi.ResourceOptions(provider=aws[\"alternate\"]))\nreceiver = aws.get_caller_identity()\nsender_invite = aws.ram.PrincipalAssociation(\"senderInvite\",\n principal=receiver.account_id,\n resource_share_arn=sender_share.arn,\n opts=pulumi.ResourceOptions(provider=aws[\"alternate\"]))\nreceiver_accept = aws.ram.ResourceShareAccepter(\"receiverAccept\", share_arn=sender_invite.resource_share_arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alternate = new Aws.Provider(\"alternate\", new()\n {\n Profile = \"profile1\",\n });\n\n var senderShare = new Aws.Ram.ResourceShare(\"senderShare\", new()\n {\n AllowExternalPrincipals = true,\n Tags = \n {\n { \"Name\", \"tf-test-resource-share\" },\n },\n }, new CustomResourceOptions\n {\n Provider = aws.Alternate,\n });\n\n var receiver = Aws.GetCallerIdentity.Invoke();\n\n var senderInvite = new Aws.Ram.PrincipalAssociation(\"senderInvite\", new()\n {\n Principal = receiver.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n ResourceShareArn = senderShare.Arn,\n }, new CustomResourceOptions\n {\n Provider = aws.Alternate,\n });\n\n var receiverAccept = new Aws.Ram.ResourceShareAccepter(\"receiverAccept\", new()\n {\n ShareArn = senderInvite.ResourceShareArn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram\"\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 := aws.NewProvider(ctx, \"alternate\", \u0026aws.ProviderArgs{\n\t\t\tProfile: pulumi.String(\"profile1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderShare, err := ram.NewResourceShare(ctx, \"senderShare\", \u0026ram.ResourceShareArgs{\n\t\t\tAllowExternalPrincipals: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Name\": pulumi.String(\"tf-test-resource-share\"),\n\t\t\t},\n\t\t}, pulumi.Provider(aws.Alternate))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treceiver, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsenderInvite, err := ram.NewPrincipalAssociation(ctx, \"senderInvite\", \u0026ram.PrincipalAssociationArgs{\n\t\t\tPrincipal: *pulumi.String(receiver.AccountId),\n\t\t\tResourceShareArn: senderShare.Arn,\n\t\t}, pulumi.Provider(aws.Alternate))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ram.NewResourceShareAccepter(ctx, \"receiverAccept\", \u0026ram.ResourceShareAccepterArgs{\n\t\t\tShareArn: senderInvite.ResourceShareArn,\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.Provider;\nimport com.pulumi.aws.ProviderArgs;\nimport com.pulumi.aws.ram.ResourceShare;\nimport com.pulumi.aws.ram.ResourceShareArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ram.PrincipalAssociation;\nimport com.pulumi.aws.ram.PrincipalAssociationArgs;\nimport com.pulumi.aws.ram.ResourceShareAccepter;\nimport com.pulumi.aws.ram.ResourceShareAccepterArgs;\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 alternate = new Provider(\"alternate\", ProviderArgs.builder() \n .profile(\"profile1\")\n .build());\n\n var senderShare = new ResourceShare(\"senderShare\", ResourceShareArgs.builder() \n .allowExternalPrincipals(true)\n .tags(Map.of(\"Name\", \"tf-test-resource-share\"))\n .build(), CustomResourceOptions.builder()\n .provider(aws.alternate())\n .build());\n\n final var receiver = AwsFunctions.getCallerIdentity();\n\n var senderInvite = new PrincipalAssociation(\"senderInvite\", PrincipalAssociationArgs.builder() \n .principal(receiver.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .resourceShareArn(senderShare.arn())\n .build(), CustomResourceOptions.builder()\n .provider(aws.alternate())\n .build());\n\n var receiverAccept = new ResourceShareAccepter(\"receiverAccept\", ResourceShareAccepterArgs.builder() \n .shareArn(senderInvite.resourceShareArn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n alternate:\n type: pulumi:providers:aws\n properties:\n profile: profile1\n senderShare:\n type: aws:ram:ResourceShare\n properties:\n allowExternalPrincipals: true\n tags:\n Name: tf-test-resource-share\n options:\n provider: ${aws.alternate}\n senderInvite:\n type: aws:ram:PrincipalAssociation\n properties:\n principal: ${receiver.accountId}\n resourceShareArn: ${senderShare.arn}\n options:\n provider: ${aws.alternate}\n receiverAccept:\n type: aws:ram:ResourceShareAccepter\n properties:\n shareArn: ${senderInvite.resourceShareArn}\nvariables:\n receiver:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import {\n\n to = aws_ram_resource_share_accepter.example\n\n id = \"arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767\" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 ", "properties": { "invitationArn": { "type": "string", @@ -262241,7 +262578,7 @@ } }, "aws:rds/clusterParameterGroup:ClusterParameterGroup": { - "description": "Provides an RDS DB cluster parameter group resource. Documentation of the available parameters for various Aurora engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.ClusterParameterGroup(\"default\", {\n description: \"RDS default cluster parameter group\",\n family: \"aurora5.6\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ClusterParameterGroup(\"default\",\n description=\"RDS default cluster parameter group\",\n family=\"aurora5.6\",\n parameters=[\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_server\",\n value=\"utf8\",\n ),\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_client\",\n value=\"utf8\",\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 @default = new Aws.Rds.ClusterParameterGroup(\"default\", new()\n {\n Description = \"RDS default cluster parameter group\",\n Family = \"aurora5.6\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewClusterParameterGroup(ctx, \"default\", \u0026rds.ClusterParameterGroupArgs{\n\t\t\tDescription: pulumi.String(\"RDS default cluster parameter group\"),\n\t\t\tFamily: pulumi.String(\"aurora5.6\"),\n\t\t\tParameters: rds.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\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.rds.ClusterParameterGroup;\nimport com.pulumi.aws.rds.ClusterParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ClusterParameterGroup(\"default\", ClusterParameterGroupArgs.builder() \n .description(\"RDS default cluster parameter group\")\n .family(\"aurora5.6\")\n .parameters( \n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ClusterParameterGroup\n properties:\n description: RDS default cluster parameter group\n family: aurora5.6\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example:\n\n```sh\n $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1\n```\n ", + "description": "Provides an RDS DB cluster parameter group resource. Documentation of the available parameters for various Aurora engines can be found at:\n\n* [Aurora MySQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html)\n* [Aurora PostgreSQL Parameters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.ClusterParameterGroup(\"default\", {\n description: \"RDS default cluster parameter group\",\n family: \"aurora5.6\",\n parameters: [\n {\n name: \"character_set_server\",\n value: \"utf8\",\n },\n {\n name: \"character_set_client\",\n value: \"utf8\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.ClusterParameterGroup(\"default\",\n description=\"RDS default cluster parameter group\",\n family=\"aurora5.6\",\n parameters=[\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_server\",\n value=\"utf8\",\n ),\n aws.rds.ClusterParameterGroupParameterArgs(\n name=\"character_set_client\",\n value=\"utf8\",\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 @default = new Aws.Rds.ClusterParameterGroup(\"default\", new()\n {\n Description = \"RDS default cluster parameter group\",\n Family = \"aurora5.6\",\n Parameters = new[]\n {\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_server\",\n Value = \"utf8\",\n },\n new Aws.Rds.Inputs.ClusterParameterGroupParameterArgs\n {\n Name = \"character_set_client\",\n Value = \"utf8\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewClusterParameterGroup(ctx, \"default\", \u0026rds.ClusterParameterGroupArgs{\n\t\t\tDescription: pulumi.String(\"RDS default cluster parameter group\"),\n\t\t\tFamily: pulumi.String(\"aurora5.6\"),\n\t\t\tParameters: rds.ClusterParameterGroupParameterArray{\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_server\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\n\t\t\t\t},\n\t\t\t\t\u0026rds.ClusterParameterGroupParameterArgs{\n\t\t\t\t\tName: pulumi.String(\"character_set_client\"),\n\t\t\t\t\tValue: pulumi.String(\"utf8\"),\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.rds.ClusterParameterGroup;\nimport com.pulumi.aws.rds.ClusterParameterGroupArgs;\nimport com.pulumi.aws.rds.inputs.ClusterParameterGroupParameterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new ClusterParameterGroup(\"default\", ClusterParameterGroupArgs.builder() \n .description(\"RDS default cluster parameter group\")\n .family(\"aurora5.6\")\n .parameters( \n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_server\")\n .value(\"utf8\")\n .build(),\n ClusterParameterGroupParameterArgs.builder()\n .name(\"character_set_client\")\n .value(\"utf8\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:ClusterParameterGroup\n properties:\n description: RDS default cluster parameter group\n family: aurora5.6\n parameters:\n - name: character_set_server\n value: utf8\n - name: character_set_client\n value: utf8\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import {\n\n to = aws_rds_cluster_parameter_group.cluster_pg\n\n id = \"production-pg-1\" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 ", "properties": { "arn": { "type": "string", @@ -262249,7 +262586,7 @@ }, "description": { "type": "string", - "description": "The description of the DB cluster parameter group. Defaults to \"Managed by Pulumi\".\n", + "description": "The description of the DB cluster parameter group. Defaults to \"Managed by TODO\".\n", "default": "Managed by Pulumi" }, "family": { @@ -262276,7 +262613,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" + "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", @@ -262297,7 +262634,7 @@ "inputProperties": { "description": { "type": "string", - "description": "The description of the DB cluster parameter group. Defaults to \"Managed by Pulumi\".\n", + "description": "The description of the DB cluster parameter group. Defaults to \"Managed by TODO\".\n", "default": "Managed by Pulumi", "willReplaceOnChanges": true }, @@ -262328,7 +262665,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" + "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": [ @@ -262343,7 +262680,7 @@ }, "description": { "type": "string", - "description": "The description of the DB cluster parameter group. Defaults to \"Managed by Pulumi\".\n", + "description": "The description of the DB cluster parameter group. Defaults to \"Managed by TODO\".\n", "default": "Managed by Pulumi", "willReplaceOnChanges": true }, @@ -262374,7 +262711,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" + "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", @@ -263209,7 +263546,7 @@ } }, "aws:rds/instance:Instance": { - "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports three types of instance classes: Standard, Memory Optimized, and Burstable Performance.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL and MariaDB,\nas other engines are not supported by RDS Blue/Green deployments.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n parameterGroupName: \"default.mysql5.7\",\n password: \"foobarbaz\",\n skipFinalSnapshot: true,\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n parameter_group_name=\"default.mysql5.7\",\n password=\"foobarbaz\",\n skip_final_snapshot=True,\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ParameterGroupName = \"default.mysql5.7\",\n Password = \"foobarbaz\",\n SkipFinalSnapshot = true,\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .parameterGroupName(\"default.mysql5.7\")\n .password(\"foobarbaz\")\n .skipFinalSnapshot(true)\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n parameterGroupName: default.mysql5.7\n password: foobarbaz\n skipFinalSnapshot: true\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### RDS Custom for Oracle Usage with Replica\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 custom-oracle = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-oracle-ee\")\n .engineVersion(\"19.c.ee.002\")\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.24xlarge\",\n \"db.r5.16xlarge\",\n \"db.r5.12xlarge\")\n .build());\n\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(50)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(local.db_subnet_group_name())\n .engine(custom_oracle.engine())\n .engineVersion(custom_oracle.engineVersion())\n .identifier(\"ee-instance-demo\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .licenseModel(custom_oracle.licenseModel())\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .storageEncrypted(true)\n .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n var test_replica = new Instance(\"test-replica\", InstanceArgs.builder() \n .replicateSourceDb(default_.identifier())\n .replicaMode(\"mounted\")\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .identifier(\"ee-instance-replica\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .skipFinalSnapshot(true)\n .storageEncrypted(true)\n .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n autoMinorVersionUpgrade: false\n # Custom for Oracle not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n # Instance profile is required for Custom for Oracle. See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${local.db_subnet_group_name}\n engine: ${[\"custom-oracle\"].engine}\n engineVersion: ${[\"custom-oracle\"].engineVersion}\n identifier: ee-instance-demo\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n licenseModel: ${[\"custom-oracle\"].licenseModel}\n multiAz: false\n # Custom for Oracle does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n storageEncrypted: true\n timeouts:\n - create: 3h\n delete: 3h\n update: 3h\n test-replica:\n type: aws:rds:Instance\n properties:\n replicateSourceDb: ${default.identifier}\n replicaMode: mounted\n autoMinorVersionUpgrade: false\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n # Instance profile is required for Custom for Oracle. See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc\n backupRetentionPeriod: 7\n identifier: ee-instance-replica\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false\n # Custom for Oracle does not support multi-az\n skipFinalSnapshot: true\n storageEncrypted: true\n timeouts:\n - create: 3h\n delete: 3h\n update: 3h\nvariables:\n custom-oracle:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-oracle-ee\n engineVersion: 19.c.ee.002\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.24xlarge\n - db.r5.16xlarge\n - db.r5.12xlarge\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n{{% /example %}}\n{{% example %}}\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\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.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n{{% /example %}}\n{{% example %}}\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n manageMasterUserPassword: true,\n parameterGroupName: \"default.mysql5.7\",\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n manage_master_user_password=True,\n parameter_group_name=\"default.mysql5.7\",\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ManageMasterUserPassword = true,\n ParameterGroupName = \"default.mysql5.7\",\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .parameterGroupName(\"default.mysql5.7\")\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n parameterGroupName: default.mysql5.7\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql5.7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql5.7\")\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.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql5.7\",\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/rds\"\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 := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql5.7\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql5.7\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import DB Instances using the `identifier`. For example:\n\n```sh\n $ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n ", + "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports three types of instance classes: Standard, Memory Optimized, and Burstable Performance.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL and MariaDB,\nas other engines are not supported by RDS Blue/Green deployments.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n parameterGroupName: \"default.mysql5.7\",\n password: \"foobarbaz\",\n skipFinalSnapshot: true,\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n parameter_group_name=\"default.mysql5.7\",\n password=\"foobarbaz\",\n skip_final_snapshot=True,\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ParameterGroupName = \"default.mysql5.7\",\n Password = \"foobarbaz\",\n SkipFinalSnapshot = true,\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .parameterGroupName(\"default.mysql5.7\")\n .password(\"foobarbaz\")\n .skipFinalSnapshot(true)\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n parameterGroupName: default.mysql5.7\n password: foobarbaz\n skipFinalSnapshot: true\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### RDS Custom for Oracle Usage with Replica\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 custom-oracle = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-oracle-ee\")\n .engineVersion(\"19.c.ee.002\")\n .licenseModel(\"bring-your-own-license\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.24xlarge\",\n \"db.r5.16xlarge\",\n \"db.r5.12xlarge\")\n .build());\n\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(50)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(local.db_subnet_group_name())\n .engine(custom_oracle.engine())\n .engineVersion(custom_oracle.engineVersion())\n .identifier(\"ee-instance-demo\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .licenseModel(custom_oracle.licenseModel())\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .storageEncrypted(true)\n .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n var test_replica = new Instance(\"test-replica\", InstanceArgs.builder() \n .replicateSourceDb(default_.identifier())\n .replicaMode(\"mounted\")\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomInstanceProfile\")\n .backupRetentionPeriod(7)\n .identifier(\"ee-instance-replica\")\n .instanceClass(custom_oracle.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .skipFinalSnapshot(true)\n .storageEncrypted(true)\n .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n autoMinorVersionUpgrade: false\n # Custom for Oracle does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n # Instance profile is required for Custom for Oracle. See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${local.db_subnet_group_name}\n engine: ${[\"custom-oracle\"].engine}\n engineVersion: ${[\"custom-oracle\"].engineVersion}\n identifier: ee-instance-demo\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n licenseModel: ${[\"custom-oracle\"].licenseModel}\n multiAz: false\n # Custom for Oracle does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n storageEncrypted: true\n timeouts:\n - create: 3h\n delete: 3h\n update: 3h\n test-replica:\n type: aws:rds:Instance\n properties:\n replicateSourceDb: ${default.identifier}\n replicaMode: mounted\n autoMinorVersionUpgrade: false\n customIamInstanceProfile: AWSRDSCustomInstanceProfile\n # Instance profile is required for Custom for Oracle. See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc\n backupRetentionPeriod: 7\n identifier: ee-instance-replica\n instanceClass: ${[\"custom-oracle\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false\n # Custom for Oracle does not support multi-az\n skipFinalSnapshot: true\n storageEncrypted: true\n timeouts:\n - create: 3h\n delete: 3h\n update: 3h\nvariables:\n custom-oracle:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-oracle-ee\n engineVersion: 19.c.ee.002\n licenseModel: bring-your-own-license\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.24xlarge\n - db.r5.16xlarge\n - db.r5.12xlarge\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n{{% /example %}}\n{{% example %}}\n### RDS Custom for SQL Server\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs;\nimport com.pulumi.aws.kms.KmsFunctions;\nimport com.pulumi.aws.kms.inputs.GetKeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 custom-sqlserver = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder()\n .engine(\"custom-sqlserver-se\")\n .engineVersion(\"115.00.4249.2.cev1\")\n .storageType(\"gp3\")\n .preferredInstanceClasses( \n \"db.r5.24xlarge\",\n \"db.r5.16xlarge\",\n \"db.r5.12xlarge\")\n .build());\n\n final var byId = KmsFunctions.getKey(GetKeyArgs.builder()\n .keyId(\"example-ef278353ceba4a5a97de6784565b9f78\")\n .build());\n\n var example = new Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(500)\n .autoMinorVersionUpgrade(false)\n .customIamInstanceProfile(\"AWSRDSCustomSQLServerInstanceRole\")\n .backupRetentionPeriod(7)\n .dbSubnetGroupName(local.db_subnet_group_name())\n .engine(custom_sqlserver.engine())\n .engineVersion(custom_sqlserver.engineVersion())\n .identifier(\"sql-instance-demo\")\n .instanceClass(custom_sqlserver.instanceClass())\n .kmsKeyId(byId.applyValue(getKeyResult -\u003e getKeyResult.arn()))\n .multiAz(false)\n .password(\"avoid-plaintext-passwords\")\n .username(\"test\")\n .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 500\n autoMinorVersionUpgrade: false\n # Custom for SQL Server does not support minor version upgrades\n customIamInstanceProfile: AWSRDSCustomSQLServerInstanceRole\n # Instance profile is required for Custom for SQL Server. See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-sqlserver.html#custom-setup-sqlserver.iam\n backupRetentionPeriod: 7\n dbSubnetGroupName: ${local.db_subnet_group_name}\n engine: ${[\"custom-sqlserver\"].engine}\n engineVersion: ${[\"custom-sqlserver\"].engineVersion}\n identifier: sql-instance-demo\n instanceClass: ${[\"custom-sqlserver\"].instanceClass}\n kmsKeyId: ${byId.arn}\n multiAz: false\n # Custom for SQL Server does not support multi-az\n password: avoid-plaintext-passwords\n username: test\n timeouts:\n - create: 3h\n delete: 3h\n update: 3h\nvariables:\n custom-sqlserver:\n fn::invoke:\n Function: aws:rds:getOrderableDbInstance\n Arguments:\n engine: custom-sqlserver-se\n engineVersion: 115.00.4249.2.cev1\n storageType: gp3\n preferredInstanceClasses:\n - db.r5.24xlarge\n - db.r5.16xlarge\n - db.r5.12xlarge\n byId:\n fn::invoke:\n Function: aws:kms:getKey\n Arguments:\n keyId: example-ef278353ceba4a5a97de6784565b9f78\n```\n{{% /example %}}\n{{% example %}}\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\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.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n{{% /example %}}\n{{% example %}}\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n manageMasterUserPassword: true,\n parameterGroupName: \"default.mysql5.7\",\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n manage_master_user_password=True,\n parameter_group_name=\"default.mysql5.7\",\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ManageMasterUserPassword = true,\n ParameterGroupName = \"default.mysql5.7\",\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .parameterGroupName(\"default.mysql5.7\")\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n parameterGroupName: default.mysql5.7\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql5.7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql5.7\")\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.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql5.7\",\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/rds\"\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 := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\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.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\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 Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql5.7\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql5.7\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import DB Instances using the `identifier`. For example:\n\n```sh\n $ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n ", "properties": { "address": { "type": "string", @@ -264230,7 +264567,7 @@ } }, "aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication": { - "description": "Manage cross-region replication of automated backups to a different AWS Region. Documentation for cross-region automated backup replication can be found at:\n\n* [Replicating automated backups to another AWS Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)\n\n\u003e **Note:** This resource has to be created in the destination region.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n retentionPeriod: 14,\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n retention_period=14,\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n RetentionPeriod = 14,\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tRetentionPeriod: pulumi.Int(14),\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\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.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder() \n .retentionPeriod(14)\n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n retentionPeriod: 14\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n```\n{{% /example %}}\n{{% /examples %}}\n## Encrypting the automated backup with KMS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n kmsKeyId: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n kms_key_id=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n KmsKeyId = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tKmsKeyId: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\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.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder() \n .kmsKeyId(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n kmsKeyId: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n```\n\n## Example including a RDS DB instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replica = new aws.Provider(\"replica\", {region: \"us-west-2\"});\nconst defaultInstance = new aws.rds.Instance(\"defaultInstance\", {\n allocatedStorage: 10,\n identifier: \"mydb\",\n engine: \"postgres\",\n engineVersion: \"13.4\",\n instanceClass: \"db.t3.micro\",\n dbName: \"mydb\",\n username: \"masterusername\",\n password: \"mustbeeightcharacters\",\n backupRetentionPeriod: 7,\n storageEncrypted: true,\n skipFinalSnapshot: true,\n});\nconst defaultKey = new aws.kms.Key(\"defaultKey\", {description: \"Encryption key for automated backups\"}, {\n provider: aws.replica,\n});\nconst defaultInstanceAutomatedBackupsReplication = new aws.rds.InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", {\n sourceDbInstanceArn: defaultInstance.arn,\n kmsKeyId: defaultKey.arn,\n}, {\n provider: aws.replica,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplica = aws.Provider(\"replica\", region=\"us-west-2\")\ndefault_instance = aws.rds.Instance(\"defaultInstance\",\n allocated_storage=10,\n identifier=\"mydb\",\n engine=\"postgres\",\n engine_version=\"13.4\",\n instance_class=\"db.t3.micro\",\n db_name=\"mydb\",\n username=\"masterusername\",\n password=\"mustbeeightcharacters\",\n backup_retention_period=7,\n storage_encrypted=True,\n skip_final_snapshot=True)\ndefault_key = aws.kms.Key(\"defaultKey\", description=\"Encryption key for automated backups\",\nopts=pulumi.ResourceOptions(provider=aws[\"replica\"]))\ndefault_instance_automated_backups_replication = aws.rds.InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\",\n source_db_instance_arn=default_instance.arn,\n kms_key_id=default_key.arn,\n opts=pulumi.ResourceOptions(provider=aws[\"replica\"]))\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 replica = new Aws.Provider(\"replica\", new()\n {\n Region = \"us-west-2\",\n });\n\n var defaultInstance = new Aws.Rds.Instance(\"defaultInstance\", new()\n {\n AllocatedStorage = 10,\n Identifier = \"mydb\",\n Engine = \"postgres\",\n EngineVersion = \"13.4\",\n InstanceClass = \"db.t3.micro\",\n DbName = \"mydb\",\n Username = \"masterusername\",\n Password = \"mustbeeightcharacters\",\n BackupRetentionPeriod = 7,\n StorageEncrypted = true,\n SkipFinalSnapshot = true,\n });\n\n var defaultKey = new Aws.Kms.Key(\"defaultKey\", new()\n {\n Description = \"Encryption key for automated backups\",\n }, new CustomResourceOptions\n {\n Provider = aws.Replica,\n });\n\n var defaultInstanceAutomatedBackupsReplication = new Aws.Rds.InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", new()\n {\n SourceDbInstanceArn = defaultInstance.Arn,\n KmsKeyId = defaultKey.Arn,\n }, new CustomResourceOptions\n {\n Provider = aws.Replica,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := aws.NewProvider(ctx, \"replica\", \u0026aws.ProviderArgs{\n\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"defaultInstance\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tIdentifier: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"postgres\"),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"masterusername\"),\n\t\t\tPassword: pulumi.String(\"mustbeeightcharacters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"defaultKey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Encryption key for automated backups\"),\n\t\t}, pulumi.Provider(aws.Replica))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstanceAutomatedBackupsReplication(ctx, \"defaultInstanceAutomatedBackupsReplication\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: defaultInstance.Arn,\n\t\t\tKmsKeyId: defaultKey.Arn,\n\t\t}, pulumi.Provider(aws.Replica))\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.Provider;\nimport com.pulumi.aws.ProviderArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\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 replica = new Provider(\"replica\", ProviderArgs.builder() \n .region(\"us-west-2\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder() \n .allocatedStorage(10)\n .identifier(\"mydb\")\n .engine(\"postgres\")\n .engineVersion(\"13.4\")\n .instanceClass(\"db.t3.micro\")\n .dbName(\"mydb\")\n .username(\"masterusername\")\n .password(\"mustbeeightcharacters\")\n .backupRetentionPeriod(7)\n .storageEncrypted(true)\n .skipFinalSnapshot(true)\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder() \n .description(\"Encryption key for automated backups\")\n .build(), CustomResourceOptions.builder()\n .provider(aws.replica())\n .build());\n\n var defaultInstanceAutomatedBackupsReplication = new InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", InstanceAutomatedBackupsReplicationArgs.builder() \n .sourceDbInstanceArn(defaultInstance.arn())\n .kmsKeyId(defaultKey.arn())\n .build(), CustomResourceOptions.builder()\n .provider(aws.replica())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: pulumi:providers:aws\n properties:\n region: us-west-2\n defaultInstance:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n identifier: mydb\n engine: postgres\n engineVersion: '13.4'\n instanceClass: db.t3.micro\n dbName: mydb\n username: masterusername\n password: mustbeeightcharacters\n backupRetentionPeriod: 7\n storageEncrypted: true\n skipFinalSnapshot: true\n defaultKey:\n type: aws:kms:Key\n properties:\n description: Encryption key for automated backups\n options:\n provider: ${aws.replica}\n defaultInstanceAutomatedBackupsReplication:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n sourceDbInstanceArn: ${defaultInstance.arn}\n kmsKeyId: ${defaultKey.arn}\n options:\n provider: ${aws.replica}\n```\n\n\n## Import\n\nUsing `pulumi import`, import RDS instance automated backups replication using the `arn`. For example:\n\n```sh\n $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my\n```\n ", + "description": "Manage cross-region replication of automated backups to a different AWS Region. Documentation for cross-region automated backup replication can be found at:\n\n* [Replicating automated backups to another AWS Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)\n\n\u003e **Note:** This resource has to be created in the destination region.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n retentionPeriod: 14,\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n retention_period=14,\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n RetentionPeriod = 14,\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tRetentionPeriod: pulumi.Int(14),\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\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.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder() \n .retentionPeriod(14)\n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n retentionPeriod: 14\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n```\n{{% /example %}}\n{{% /examples %}}\n## Encrypting the automated backup with KMS\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.InstanceAutomatedBackupsReplication(\"default\", {\n kmsKeyId: \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n sourceDbInstanceArn: \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.InstanceAutomatedBackupsReplication(\"default\",\n kms_key_id=\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n source_db_instance_arn=\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.InstanceAutomatedBackupsReplication(\"default\", new()\n {\n KmsKeyId = \"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\",\n SourceDbInstanceArn = \"arn:aws:rds:us-west-2:123456789012:db:mydatabase\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := rds.NewInstanceAutomatedBackupsReplication(ctx, \"default\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tKmsKeyId: pulumi.String(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\"),\n\t\t\tSourceDbInstanceArn: pulumi.String(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\"),\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.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new InstanceAutomatedBackupsReplication(\"default\", InstanceAutomatedBackupsReplicationArgs.builder() \n .kmsKeyId(\"arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\")\n .sourceDbInstanceArn(\"arn:aws:rds:us-west-2:123456789012:db:mydatabase\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n kmsKeyId: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n sourceDbInstanceArn: arn:aws:rds:us-west-2:123456789012:db:mydatabase\n```\n\n## Example including a RDS DB instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replica = new aws.Provider(\"replica\", {region: \"us-west-2\"});\nconst defaultInstance = new aws.rds.Instance(\"defaultInstance\", {\n allocatedStorage: 10,\n identifier: \"mydb\",\n engine: \"postgres\",\n engineVersion: \"13.4\",\n instanceClass: \"db.t3.micro\",\n dbName: \"mydb\",\n username: \"masterusername\",\n password: \"mustbeeightcharacters\",\n backupRetentionPeriod: 7,\n storageEncrypted: true,\n skipFinalSnapshot: true,\n});\nconst defaultKey = new aws.kms.Key(\"defaultKey\", {description: \"Encryption key for automated backups\"}, {\n provider: aws.replica,\n});\nconst defaultInstanceAutomatedBackupsReplication = new aws.rds.InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", {\n sourceDbInstanceArn: defaultInstance.arn,\n kmsKeyId: defaultKey.arn,\n}, {\n provider: aws.replica,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplica = aws.Provider(\"replica\", region=\"us-west-2\")\ndefault_instance = aws.rds.Instance(\"defaultInstance\",\n allocated_storage=10,\n identifier=\"mydb\",\n engine=\"postgres\",\n engine_version=\"13.4\",\n instance_class=\"db.t3.micro\",\n db_name=\"mydb\",\n username=\"masterusername\",\n password=\"mustbeeightcharacters\",\n backup_retention_period=7,\n storage_encrypted=True,\n skip_final_snapshot=True)\ndefault_key = aws.kms.Key(\"defaultKey\", description=\"Encryption key for automated backups\",\nopts=pulumi.ResourceOptions(provider=aws[\"replica\"]))\ndefault_instance_automated_backups_replication = aws.rds.InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\",\n source_db_instance_arn=default_instance.arn,\n kms_key_id=default_key.arn,\n opts=pulumi.ResourceOptions(provider=aws[\"replica\"]))\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 replica = new Aws.Provider(\"replica\", new()\n {\n Region = \"us-west-2\",\n });\n\n var defaultInstance = new Aws.Rds.Instance(\"defaultInstance\", new()\n {\n AllocatedStorage = 10,\n Identifier = \"mydb\",\n Engine = \"postgres\",\n EngineVersion = \"13.4\",\n InstanceClass = \"db.t3.micro\",\n DbName = \"mydb\",\n Username = \"masterusername\",\n Password = \"mustbeeightcharacters\",\n BackupRetentionPeriod = 7,\n StorageEncrypted = true,\n SkipFinalSnapshot = true,\n });\n\n var defaultKey = new Aws.Kms.Key(\"defaultKey\", new()\n {\n Description = \"Encryption key for automated backups\",\n }, new CustomResourceOptions\n {\n Provider = aws.Replica,\n });\n\n var defaultInstanceAutomatedBackupsReplication = new Aws.Rds.InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", new()\n {\n SourceDbInstanceArn = defaultInstance.Arn,\n KmsKeyId = defaultKey.Arn,\n }, new CustomResourceOptions\n {\n Provider = aws.Replica,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds\"\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 := aws.NewProvider(ctx, \"replica\", \u0026aws.ProviderArgs{\n\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstance, err := rds.NewInstance(ctx, \"defaultInstance\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tIdentifier: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"postgres\"),\n\t\t\tEngineVersion: pulumi.String(\"13.4\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tUsername: pulumi.String(\"masterusername\"),\n\t\t\tPassword: pulumi.String(\"mustbeeightcharacters\"),\n\t\t\tBackupRetentionPeriod: pulumi.Int(7),\n\t\t\tStorageEncrypted: pulumi.Bool(true),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultKey, err := kms.NewKey(ctx, \"defaultKey\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Encryption key for automated backups\"),\n\t\t}, pulumi.Provider(aws.Replica))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstanceAutomatedBackupsReplication(ctx, \"defaultInstanceAutomatedBackupsReplication\", \u0026rds.InstanceAutomatedBackupsReplicationArgs{\n\t\t\tSourceDbInstanceArn: defaultInstance.Arn,\n\t\t\tKmsKeyId: defaultKey.Arn,\n\t\t}, pulumi.Provider(aws.Replica))\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.Provider;\nimport com.pulumi.aws.ProviderArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplication;\nimport com.pulumi.aws.rds.InstanceAutomatedBackupsReplicationArgs;\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 replica = new Provider(\"replica\", ProviderArgs.builder() \n .region(\"us-west-2\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder() \n .allocatedStorage(10)\n .identifier(\"mydb\")\n .engine(\"postgres\")\n .engineVersion(\"13.4\")\n .instanceClass(\"db.t3.micro\")\n .dbName(\"mydb\")\n .username(\"masterusername\")\n .password(\"mustbeeightcharacters\")\n .backupRetentionPeriod(7)\n .storageEncrypted(true)\n .skipFinalSnapshot(true)\n .build());\n\n var defaultKey = new Key(\"defaultKey\", KeyArgs.builder() \n .description(\"Encryption key for automated backups\")\n .build(), CustomResourceOptions.builder()\n .provider(aws.replica())\n .build());\n\n var defaultInstanceAutomatedBackupsReplication = new InstanceAutomatedBackupsReplication(\"defaultInstanceAutomatedBackupsReplication\", InstanceAutomatedBackupsReplicationArgs.builder() \n .sourceDbInstanceArn(defaultInstance.arn())\n .kmsKeyId(defaultKey.arn())\n .build(), CustomResourceOptions.builder()\n .provider(aws.replica())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: pulumi:providers:aws\n properties:\n region: us-west-2\n defaultInstance:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n identifier: mydb\n engine: postgres\n engineVersion: '13.4'\n instanceClass: db.t3.micro\n dbName: mydb\n username: masterusername\n password: mustbeeightcharacters\n backupRetentionPeriod: 7\n storageEncrypted: true\n skipFinalSnapshot: true\n defaultKey:\n type: aws:kms:Key\n properties:\n description: Encryption key for automated backups\n options:\n provider: ${aws.replica}\n defaultInstanceAutomatedBackupsReplication:\n type: aws:rds:InstanceAutomatedBackupsReplication\n properties:\n sourceDbInstanceArn: ${defaultInstance.arn}\n kmsKeyId: ${defaultKey.arn}\n options:\n provider: ${aws.replica}\n```\n\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import {\n\n to = aws_db_instance_automated_backups_replication.default\n\n id = \"arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my\" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my ", "properties": { "kmsKeyId": { "type": "string", @@ -271585,7 +271922,7 @@ } }, "aws:route53/resolverFirewallConfig:ResolverFirewallConfig": { - "description": "Provides a Route 53 Resolver DNS Firewall config resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"exampleVpc\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverFirewallConfig = new aws.route53.ResolverFirewallConfig(\"exampleResolverFirewallConfig\", {\n resourceId: exampleVpc.id,\n firewallFailOpen: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"exampleVpc\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_firewall_config = aws.route53.ResolverFirewallConfig(\"exampleResolverFirewallConfig\",\n resource_id=example_vpc.id,\n firewall_fail_open=\"ENABLED\")\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 exampleVpc = new Aws.Ec2.Vpc(\"exampleVpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverFirewallConfig = new Aws.Route53.ResolverFirewallConfig(\"exampleResolverFirewallConfig\", new()\n {\n ResourceId = exampleVpc.Id,\n FirewallFailOpen = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"exampleVpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallConfig(ctx, \"exampleResolverFirewallConfig\", \u0026route53.ResolverFirewallConfigArgs{\n\t\t\tResourceId: exampleVpc.ID(),\n\t\t\tFirewallFailOpen: pulumi.String(\"ENABLED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverFirewallConfig;\nimport com.pulumi.aws.route53.ResolverFirewallConfigArgs;\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 exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverFirewallConfig = new ResolverFirewallConfig(\"exampleResolverFirewallConfig\", ResolverFirewallConfigArgs.builder() \n .resourceId(exampleVpc.id())\n .firewallFailOpen(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverFirewallConfig:\n type: aws:route53:ResolverFirewallConfig\n properties:\n resourceId: ${exampleVpc.id}\n firewallFailOpen: ENABLED\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:\n\n```sh\n $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95\n```\n ", + "description": "Provides a Route 53 Resolver DNS Firewall config resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleVpc = new aws.ec2.Vpc(\"exampleVpc\", {\n cidrBlock: \"10.0.0.0/16\",\n enableDnsSupport: true,\n enableDnsHostnames: true,\n});\nconst exampleResolverFirewallConfig = new aws.route53.ResolverFirewallConfig(\"exampleResolverFirewallConfig\", {\n resourceId: exampleVpc.id,\n firewallFailOpen: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_vpc = aws.ec2.Vpc(\"exampleVpc\",\n cidr_block=\"10.0.0.0/16\",\n enable_dns_support=True,\n enable_dns_hostnames=True)\nexample_resolver_firewall_config = aws.route53.ResolverFirewallConfig(\"exampleResolverFirewallConfig\",\n resource_id=example_vpc.id,\n firewall_fail_open=\"ENABLED\")\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 exampleVpc = new Aws.Ec2.Vpc(\"exampleVpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n EnableDnsSupport = true,\n EnableDnsHostnames = true,\n });\n\n var exampleResolverFirewallConfig = new Aws.Route53.ResolverFirewallConfig(\"exampleResolverFirewallConfig\", new()\n {\n ResourceId = exampleVpc.Id,\n FirewallFailOpen = \"ENABLED\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := ec2.NewVpc(ctx, \"exampleVpc\", \u0026ec2.VpcArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tEnableDnsSupport: pulumi.Bool(true),\n\t\t\tEnableDnsHostnames: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallConfig(ctx, \"exampleResolverFirewallConfig\", \u0026route53.ResolverFirewallConfigArgs{\n\t\t\tResourceId: exampleVpc.ID(),\n\t\t\tFirewallFailOpen: pulumi.String(\"ENABLED\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.Vpc;\nimport com.pulumi.aws.ec2.VpcArgs;\nimport com.pulumi.aws.route53.ResolverFirewallConfig;\nimport com.pulumi.aws.route53.ResolverFirewallConfigArgs;\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 exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .enableDnsSupport(true)\n .enableDnsHostnames(true)\n .build());\n\n var exampleResolverFirewallConfig = new ResolverFirewallConfig(\"exampleResolverFirewallConfig\", ResolverFirewallConfigArgs.builder() \n .resourceId(exampleVpc.id())\n .firewallFailOpen(\"ENABLED\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: aws:ec2:Vpc\n properties:\n cidrBlock: 10.0.0.0/16\n enableDnsSupport: true\n enableDnsHostnames: true\n exampleResolverFirewallConfig:\n type: aws:route53:ResolverFirewallConfig\n properties:\n resourceId: ${exampleVpc.id}\n firewallFailOpen: ENABLED\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import {\n\n to = aws_route53_resolver_firewall_config.example\n\n id = \"rdsc-be1866ecc1683e95\" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 ", "properties": { "firewallFailOpen": { "type": "string", @@ -271640,7 +271977,7 @@ } }, "aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList": { - "description": "Provides a Route 53 Resolver DNS Firewall domain list resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallDomainList(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallDomainList(\"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 example = new Aws.Route53.ResolverFirewallDomainList(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.NewResolverFirewallDomainList(ctx, \"example\", 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.route53.ResolverFirewallDomainList;\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 ResolverFirewallDomainList(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallDomainList\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import\n\nRoute 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:\n\n```sh\n $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef\n```\n ", + "description": "Provides a Route 53 Resolver DNS Firewall domain list resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallDomainList(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallDomainList(\"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 example = new Aws.Route53.ResolverFirewallDomainList(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.NewResolverFirewallDomainList(ctx, \"example\", 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.route53.ResolverFirewallDomainList;\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 ResolverFirewallDomainList(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallDomainList\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import\n\nRoute 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import {\n\n to = aws_route53_resolver_firewall_domain_list.example\n\n id = \"rslvr-fdl-0123456789abcdef\" } Using `TODO import`, import\n\nRoute 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef ", "properties": { "arn": { "type": "string", @@ -271662,7 +271999,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" + "description": "A map of tags to assign to the resource. f 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", @@ -271695,7 +272032,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" + "description": "A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" } }, "stateInputs": { @@ -271722,7 +272059,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" + "description": "A map of tags to assign to the resource. f 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", @@ -271736,7 +272073,7 @@ } }, "aws:route53/resolverFirewallRule:ResolverFirewallRule": { - "description": "Provides a Route 53 Resolver DNS Firewall rule resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleResolverFirewallDomainList = new aws.route53.ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\", {\n domains: [\"example.com\"],\n tags: {},\n});\nconst exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", {tags: {}});\nconst exampleResolverFirewallRule = new aws.route53.ResolverFirewallRule(\"exampleResolverFirewallRule\", {\n action: \"BLOCK\",\n blockOverrideDnsType: \"CNAME\",\n blockOverrideDomain: \"example.com\",\n blockOverrideTtl: 1,\n blockResponse: \"OVERRIDE\",\n firewallDomainListId: exampleResolverFirewallDomainList.id,\n firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,\n priority: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_resolver_firewall_domain_list = aws.route53.ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\",\n domains=[\"example.com\"],\n tags={})\nexample_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", tags={})\nexample_resolver_firewall_rule = aws.route53.ResolverFirewallRule(\"exampleResolverFirewallRule\",\n action=\"BLOCK\",\n block_override_dns_type=\"CNAME\",\n block_override_domain=\"example.com\",\n block_override_ttl=1,\n block_response=\"OVERRIDE\",\n firewall_domain_list_id=example_resolver_firewall_domain_list.id,\n firewall_rule_group_id=example_resolver_firewall_rule_group.id,\n priority=100)\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 exampleResolverFirewallDomainList = new Aws.Route53.ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\", new()\n {\n Domains = new[]\n {\n \"example.com\",\n },\n Tags = null,\n });\n\n var exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", new()\n {\n Tags = null,\n });\n\n var exampleResolverFirewallRule = new Aws.Route53.ResolverFirewallRule(\"exampleResolverFirewallRule\", new()\n {\n Action = \"BLOCK\",\n BlockOverrideDnsType = \"CNAME\",\n BlockOverrideDomain = \"example.com\",\n BlockOverrideTtl = 1,\n BlockResponse = \"OVERRIDE\",\n FirewallDomainListId = exampleResolverFirewallDomainList.Id,\n FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,\n Priority = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResolverFirewallDomainList, err := route53.NewResolverFirewallDomainList(ctx, \"exampleResolverFirewallDomainList\", \u0026route53.ResolverFirewallDomainListArgs{\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, \"exampleResolverFirewallRuleGroup\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRule(ctx, \"exampleResolverFirewallRule\", \u0026route53.ResolverFirewallRuleArgs{\n\t\t\tAction: pulumi.String(\"BLOCK\"),\n\t\t\tBlockOverrideDnsType: pulumi.String(\"CNAME\"),\n\t\t\tBlockOverrideDomain: pulumi.String(\"example.com\"),\n\t\t\tBlockOverrideTtl: pulumi.Int(1),\n\t\t\tBlockResponse: pulumi.String(\"OVERRIDE\"),\n\t\t\tFirewallDomainListId: exampleResolverFirewallDomainList.ID(),\n\t\t\tFirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),\n\t\t\tPriority: pulumi.Int(100),\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.route53.ResolverFirewallDomainList;\nimport com.pulumi.aws.route53.ResolverFirewallDomainListArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRule;\nimport com.pulumi.aws.route53.ResolverFirewallRuleArgs;\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 exampleResolverFirewallDomainList = new ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\", ResolverFirewallDomainListArgs.builder() \n .domains(\"example.com\")\n .tags()\n .build());\n\n var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", ResolverFirewallRuleGroupArgs.builder() \n .tags()\n .build());\n\n var exampleResolverFirewallRule = new ResolverFirewallRule(\"exampleResolverFirewallRule\", ResolverFirewallRuleArgs.builder() \n .action(\"BLOCK\")\n .blockOverrideDnsType(\"CNAME\")\n .blockOverrideDomain(\"example.com\")\n .blockOverrideTtl(1)\n .blockResponse(\"OVERRIDE\")\n .firewallDomainListId(exampleResolverFirewallDomainList.id())\n .firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())\n .priority(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResolverFirewallDomainList:\n type: aws:route53:ResolverFirewallDomainList\n properties:\n domains:\n - example.com\n tags: {}\n exampleResolverFirewallRuleGroup:\n type: aws:route53:ResolverFirewallRuleGroup\n properties:\n tags: {}\n exampleResolverFirewallRule:\n type: aws:route53:ResolverFirewallRule\n properties:\n action: BLOCK\n blockOverrideDnsType: CNAME\n blockOverrideDomain: example.com\n blockOverrideTtl: 1\n blockResponse: OVERRIDE\n firewallDomainListId: ${exampleResolverFirewallDomainList.id}\n firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}\n priority: 100\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import\n\nRoute 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:\n\n```sh\n $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef\n```\n ", + "description": "Provides a Route 53 Resolver DNS Firewall rule resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleResolverFirewallDomainList = new aws.route53.ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\", {\n domains: [\"example.com\"],\n tags: {},\n});\nconst exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", {tags: {}});\nconst exampleResolverFirewallRule = new aws.route53.ResolverFirewallRule(\"exampleResolverFirewallRule\", {\n action: \"BLOCK\",\n blockOverrideDnsType: \"CNAME\",\n blockOverrideDomain: \"example.com\",\n blockOverrideTtl: 1,\n blockResponse: \"OVERRIDE\",\n firewallDomainListId: exampleResolverFirewallDomainList.id,\n firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,\n priority: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_resolver_firewall_domain_list = aws.route53.ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\",\n domains=[\"example.com\"],\n tags={})\nexample_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", tags={})\nexample_resolver_firewall_rule = aws.route53.ResolverFirewallRule(\"exampleResolverFirewallRule\",\n action=\"BLOCK\",\n block_override_dns_type=\"CNAME\",\n block_override_domain=\"example.com\",\n block_override_ttl=1,\n block_response=\"OVERRIDE\",\n firewall_domain_list_id=example_resolver_firewall_domain_list.id,\n firewall_rule_group_id=example_resolver_firewall_rule_group.id,\n priority=100)\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 exampleResolverFirewallDomainList = new Aws.Route53.ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\", new()\n {\n Domains = new[]\n {\n \"example.com\",\n },\n Tags = null,\n });\n\n var exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", new()\n {\n Tags = null,\n });\n\n var exampleResolverFirewallRule = new Aws.Route53.ResolverFirewallRule(\"exampleResolverFirewallRule\", new()\n {\n Action = \"BLOCK\",\n BlockOverrideDnsType = \"CNAME\",\n BlockOverrideDomain = \"example.com\",\n BlockOverrideTtl = 1,\n BlockResponse = \"OVERRIDE\",\n FirewallDomainListId = exampleResolverFirewallDomainList.Id,\n FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,\n Priority = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResolverFirewallDomainList, err := route53.NewResolverFirewallDomainList(ctx, \"exampleResolverFirewallDomainList\", \u0026route53.ResolverFirewallDomainListArgs{\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, \"exampleResolverFirewallRuleGroup\", \u0026route53.ResolverFirewallRuleGroupArgs{\n\t\t\tTags: nil,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRule(ctx, \"exampleResolverFirewallRule\", \u0026route53.ResolverFirewallRuleArgs{\n\t\t\tAction: pulumi.String(\"BLOCK\"),\n\t\t\tBlockOverrideDnsType: pulumi.String(\"CNAME\"),\n\t\t\tBlockOverrideDomain: pulumi.String(\"example.com\"),\n\t\t\tBlockOverrideTtl: pulumi.Int(1),\n\t\t\tBlockResponse: pulumi.String(\"OVERRIDE\"),\n\t\t\tFirewallDomainListId: exampleResolverFirewallDomainList.ID(),\n\t\t\tFirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),\n\t\t\tPriority: pulumi.Int(100),\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.route53.ResolverFirewallDomainList;\nimport com.pulumi.aws.route53.ResolverFirewallDomainListArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupArgs;\nimport com.pulumi.aws.route53.ResolverFirewallRule;\nimport com.pulumi.aws.route53.ResolverFirewallRuleArgs;\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 exampleResolverFirewallDomainList = new ResolverFirewallDomainList(\"exampleResolverFirewallDomainList\", ResolverFirewallDomainListArgs.builder() \n .domains(\"example.com\")\n .tags()\n .build());\n\n var exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", ResolverFirewallRuleGroupArgs.builder() \n .tags()\n .build());\n\n var exampleResolverFirewallRule = new ResolverFirewallRule(\"exampleResolverFirewallRule\", ResolverFirewallRuleArgs.builder() \n .action(\"BLOCK\")\n .blockOverrideDnsType(\"CNAME\")\n .blockOverrideDomain(\"example.com\")\n .blockOverrideTtl(1)\n .blockResponse(\"OVERRIDE\")\n .firewallDomainListId(exampleResolverFirewallDomainList.id())\n .firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())\n .priority(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResolverFirewallDomainList:\n type: aws:route53:ResolverFirewallDomainList\n properties:\n domains:\n - example.com\n tags: {}\n exampleResolverFirewallRuleGroup:\n type: aws:route53:ResolverFirewallRuleGroup\n properties:\n tags: {}\n exampleResolverFirewallRule:\n type: aws:route53:ResolverFirewallRule\n properties:\n action: BLOCK\n blockOverrideDnsType: CNAME\n blockOverrideDomain: example.com\n blockOverrideTtl: 1\n blockResponse: OVERRIDE\n firewallDomainListId: ${exampleResolverFirewallDomainList.id}\n firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}\n priority: 100\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import\n\nRoute 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import {\n\n to = aws_route53_resolver_firewall_rule.example\n\n id = \"rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef\" } Using `TODO import`, import\n\nRoute 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef ", "properties": { "action": { "type": "string", @@ -271874,7 +272211,7 @@ } }, "aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup": { - "description": "Provides a Route 53 Resolver DNS Firewall rule group resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallRuleGroup(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallRuleGroup(\"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 example = new Aws.Route53.ResolverFirewallRuleGroup(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.NewResolverFirewallRuleGroup(ctx, \"example\", 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.route53.ResolverFirewallRuleGroup;\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 ResolverFirewallRuleGroup(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallRuleGroup\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import\n\nRoute 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:\n\n```sh\n $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef\n```\n ", + "description": "Provides a Route 53 Resolver DNS Firewall rule group resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.route53.ResolverFirewallRuleGroup(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.route53.ResolverFirewallRuleGroup(\"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 example = new Aws.Route53.ResolverFirewallRuleGroup(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\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 := route53.NewResolverFirewallRuleGroup(ctx, \"example\", 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.route53.ResolverFirewallRuleGroup;\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 ResolverFirewallRuleGroup(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:route53:ResolverFirewallRuleGroup\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import\n\nRoute 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import {\n\n to = aws_route53_resolver_firewall_rule_group.example\n\n id = \"rslvr-frg-0123456789abcdef\" } Using `TODO import`, import\n\nRoute 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef ", "properties": { "arn": { "type": "string", @@ -271897,7 +272234,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" + "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", @@ -271925,7 +272262,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" + "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" } }, "stateInputs": { @@ -271953,7 +272290,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" + "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", @@ -271967,7 +272304,7 @@ } }, "aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation": { - "description": "Provides a Route 53 Resolver DNS Firewall rule group association resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", {});\nconst exampleResolverFirewallRuleGroupAssociation = new aws.route53.ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", {\n firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,\n priority: 100,\n vpcId: aws_vpc.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\")\nexample_resolver_firewall_rule_group_association = aws.route53.ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\",\n firewall_rule_group_id=example_resolver_firewall_rule_group.id,\n priority=100,\n vpc_id=aws_vpc[\"example\"][\"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 exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\");\n\n var exampleResolverFirewallRuleGroupAssociation = new Aws.Route53.ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", new()\n {\n FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,\n Priority = 100,\n VpcId = aws_vpc.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, \"exampleResolverFirewallRuleGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRuleGroupAssociation(ctx, \"exampleResolverFirewallRuleGroupAssociation\", \u0026route53.ResolverFirewallRuleGroupAssociationArgs{\n\t\t\tFirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociation;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociationArgs;\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 exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\");\n\n var exampleResolverFirewallRuleGroupAssociation = new ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", ResolverFirewallRuleGroupAssociationArgs.builder() \n .firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())\n .priority(100)\n .vpcId(aws_vpc.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResolverFirewallRuleGroup:\n type: aws:route53:ResolverFirewallRuleGroup\n exampleResolverFirewallRuleGroupAssociation:\n type: aws:route53:ResolverFirewallRuleGroupAssociation\n properties:\n firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}\n priority: 100\n vpcId: ${aws_vpc.example.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:\n\n```sh\n $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef\n```\n ", + "description": "Provides a Route 53 Resolver DNS Firewall rule group association resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleResolverFirewallRuleGroup = new aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\", {});\nconst exampleResolverFirewallRuleGroupAssociation = new aws.route53.ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", {\n firewallRuleGroupId: exampleResolverFirewallRuleGroup.id,\n priority: 100,\n vpcId: aws_vpc.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_resolver_firewall_rule_group = aws.route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\")\nexample_resolver_firewall_rule_group_association = aws.route53.ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\",\n firewall_rule_group_id=example_resolver_firewall_rule_group.id,\n priority=100,\n vpc_id=aws_vpc[\"example\"][\"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 exampleResolverFirewallRuleGroup = new Aws.Route53.ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\");\n\n var exampleResolverFirewallRuleGroupAssociation = new Aws.Route53.ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", new()\n {\n FirewallRuleGroupId = exampleResolverFirewallRuleGroup.Id,\n Priority = 100,\n VpcId = aws_vpc.Example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleResolverFirewallRuleGroup, err := route53.NewResolverFirewallRuleGroup(ctx, \"exampleResolverFirewallRuleGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = route53.NewResolverFirewallRuleGroupAssociation(ctx, \"exampleResolverFirewallRuleGroupAssociation\", \u0026route53.ResolverFirewallRuleGroupAssociationArgs{\n\t\t\tFirewallRuleGroupId: exampleResolverFirewallRuleGroup.ID(),\n\t\t\tPriority: pulumi.Int(100),\n\t\t\tVpcId: pulumi.Any(aws_vpc.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroup;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociation;\nimport com.pulumi.aws.route53.ResolverFirewallRuleGroupAssociationArgs;\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 exampleResolverFirewallRuleGroup = new ResolverFirewallRuleGroup(\"exampleResolverFirewallRuleGroup\");\n\n var exampleResolverFirewallRuleGroupAssociation = new ResolverFirewallRuleGroupAssociation(\"exampleResolverFirewallRuleGroupAssociation\", ResolverFirewallRuleGroupAssociationArgs.builder() \n .firewallRuleGroupId(exampleResolverFirewallRuleGroup.id())\n .priority(100)\n .vpcId(aws_vpc.example().id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleResolverFirewallRuleGroup:\n type: aws:route53:ResolverFirewallRuleGroup\n exampleResolverFirewallRuleGroupAssociation:\n type: aws:route53:ResolverFirewallRuleGroupAssociation\n properties:\n firewallRuleGroupId: ${exampleResolverFirewallRuleGroup.id}\n priority: 100\n vpcId: ${aws_vpc.example.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import {\n\n to = aws_route53_resolver_firewall_rule_group_association.example\n\n id = \"rslvr-frgassoc-0123456789abcdef\" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef ", "properties": { "arn": { "type": "string", @@ -271994,7 +272331,7 @@ "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" + "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", @@ -272040,7 +272377,7 @@ "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" + "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" }, "vpcId": { "type": "string", @@ -272082,7 +272419,7 @@ "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" + "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", @@ -278756,6 +279093,10 @@ "type": "string", "description": "The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider.\n" }, + "alias": { + "type": "string", + "description": "Alias for the S3 Object Lambda Access Point.\n" + }, "arn": { "type": "string", "description": "Amazon Resource Name (ARN) of the Object Lambda Access Point.\n" @@ -278771,6 +279112,7 @@ }, "required": [ "accountId", + "alias", "arn", "configuration", "name" @@ -278802,6 +279144,10 @@ "description": "The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider.\n", "willReplaceOnChanges": true }, + "alias": { + "type": "string", + "description": "Alias for the S3 Object Lambda Access Point.\n" + }, "arn": { "type": "string", "description": "Amazon Resource Name (ARN) of the Object Lambda Access Point.\n" @@ -283859,7 +284205,7 @@ } }, "aws:securityhub/account:Account": { - "description": "Enables Security Hub for this AWS account.\n\n\u003e **NOTE:** Destroying this resource will disable Security Hub for this AWS account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"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 example = new Aws.SecurityHub.Account(\"example\");\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, \"example\", 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 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 Account(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:\n\n```sh\n $ pulumi import aws:securityhub/account:Account example 123456789012\n```\n ", + "description": "Enables Security Hub for this AWS account.\n\n\u003e **NOTE:** Destroying this resource will disable Security Hub for this AWS account.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"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 example = new Aws.SecurityHub.Account(\"example\");\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, \"example\", 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 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 Account(\"example\");\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import {\n\n to = aws_securityhub_account.example\n\n id = \"123456789012\" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 ", "properties": { "arn": { "type": "string", @@ -283991,7 +284337,7 @@ } }, "aws:securityhub/findingAggregator:FindingAggregator": { - "description": "Manages a Security Hub finding aggregator. Security Hub needs to be enabled in a region in order for the aggregator to pull through findings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### All Regions Usage\n\nThe following example will enable the aggregator for every region.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", linking_mode=\"ALL_REGIONS\",\nopts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"exampleFindingAggregator\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"exampleFindingAggregator\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% example %}}\n### All Regions Except Specified Regions Usage\n\nThe following example will enable the aggregator for every region except those specified in `specified_regions`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", {\n linkingMode: \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"exampleFindingAggregator\",\n linking_mode=\"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"exampleFindingAggregator\", new()\n {\n LinkingMode = \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"exampleFindingAggregator\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS_EXCEPT_SPECIFIED\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS_EXCEPT_SPECIFIED\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS_EXCEPT_SPECIFIED\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% example %}}\n### Specified Regions Usage\n\nThe following example will enable the aggregator for every region specified in `specified_regions`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", {\n linkingMode: \"SPECIFIED_REGIONS\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"exampleFindingAggregator\",\n linking_mode=\"SPECIFIED_REGIONS\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"exampleFindingAggregator\", new()\n {\n LinkingMode = \"SPECIFIED_REGIONS\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"exampleFindingAggregator\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"SPECIFIED_REGIONS\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"SPECIFIED_REGIONS\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: SPECIFIED_REGIONS\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example:\n\n```sh\n $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456\n```\n ", + "description": "Manages a Security Hub finding aggregator. Security Hub needs to be enabled in a region in order for the aggregator to pull through findings.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### All Regions Usage\n\nThe following example will enable the aggregator for every region.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", {linkingMode: \"ALL_REGIONS\"}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", linking_mode=\"ALL_REGIONS\",\nopts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"exampleFindingAggregator\", new()\n {\n LinkingMode = \"ALL_REGIONS\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"exampleFindingAggregator\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% example %}}\n### All Regions Except Specified Regions Usage\n\nThe following example will enable the aggregator for every region except those specified in `specified_regions`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", {\n linkingMode: \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"exampleFindingAggregator\",\n linking_mode=\"ALL_REGIONS_EXCEPT_SPECIFIED\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"exampleFindingAggregator\", new()\n {\n LinkingMode = \"ALL_REGIONS_EXCEPT_SPECIFIED\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"exampleFindingAggregator\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"ALL_REGIONS_EXCEPT_SPECIFIED\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"ALL_REGIONS_EXCEPT_SPECIFIED\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: ALL_REGIONS_EXCEPT_SPECIFIED\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% example %}}\n### Specified Regions Usage\n\nThe following example will enable the aggregator for every region specified in `specified_regions`.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleFindingAggregator = new aws.securityhub.FindingAggregator(\"exampleFindingAggregator\", {\n linkingMode: \"SPECIFIED_REGIONS\",\n specifiedRegions: [\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_finding_aggregator = aws.securityhub.FindingAggregator(\"exampleFindingAggregator\",\n linking_mode=\"SPECIFIED_REGIONS\",\n specified_regions=[\n \"eu-west-1\",\n \"eu-west-2\",\n ],\n opts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new Aws.SecurityHub.FindingAggregator(\"exampleFindingAggregator\", new()\n {\n LinkingMode = \"SPECIFIED_REGIONS\",\n SpecifiedRegions = new[]\n {\n \"eu-west-1\",\n \"eu-west-2\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewFindingAggregator(ctx, \"exampleFindingAggregator\", \u0026securityhub.FindingAggregatorArgs{\n\t\t\tLinkingMode: pulumi.String(\"SPECIFIED_REGIONS\"),\n\t\t\tSpecifiedRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\tpulumi.String(\"eu-west-2\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.FindingAggregator;\nimport com.pulumi.aws.securityhub.FindingAggregatorArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleFindingAggregator = new FindingAggregator(\"exampleFindingAggregator\", FindingAggregatorArgs.builder() \n .linkingMode(\"SPECIFIED_REGIONS\")\n .specifiedRegions( \n \"eu-west-1\",\n \"eu-west-2\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleFindingAggregator:\n type: aws:securityhub:FindingAggregator\n properties:\n linkingMode: SPECIFIED_REGIONS\n specifiedRegions:\n - eu-west-1\n - eu-west-2\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import {\n\n to = aws_securityhub_finding_aggregator.example\n\n id = \"arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456\" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 ", "properties": { "linkingMode": { "type": "string", @@ -284110,7 +284456,7 @@ } }, "aws:securityhub/inviteAccepter:InviteAccepter": { - "description": "\u003e **Note:** AWS accounts can only be associated with a single Security Hub master account. Destroying this resource will disassociate the member account from the master account.\n\nAccepts a Security Hub invitation.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleMember = new aws.securityhub.Member(\"exampleMember\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n});\nconst inviteeAccount = new aws.securityhub.Account(\"inviteeAccount\", {}, {\n provider: \"aws.invitee\",\n});\nconst inviteeInviteAccepter = new aws.securityhub.InviteAccepter(\"inviteeInviteAccepter\", {masterId: exampleMember.masterId}, {\n provider: \"aws.invitee\",\n dependsOn: [inviteeAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_member = aws.securityhub.Member(\"exampleMember\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True)\ninvitee_account = aws.securityhub.Account(\"inviteeAccount\", opts=pulumi.ResourceOptions(provider=\"aws.invitee\"))\ninvitee_invite_accepter = aws.securityhub.InviteAccepter(\"inviteeInviteAccepter\", master_id=example_member.master_id,\nopts=pulumi.ResourceOptions(provider=\"aws.invitee\",\n depends_on=[invitee_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"exampleMember\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n });\n\n var inviteeAccount = new Aws.SecurityHub.Account(\"inviteeAccount\", new()\n {\n }, new CustomResourceOptions\n {\n Provider = \"aws.invitee\",\n });\n\n var inviteeInviteAccepter = new Aws.SecurityHub.InviteAccepter(\"inviteeInviteAccepter\", new()\n {\n MasterId = exampleMember.MasterId,\n }, new CustomResourceOptions\n {\n Provider = \"aws.invitee\",\n DependsOn = new[]\n {\n inviteeAccount,\n },\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, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMember, err := securityhub.NewMember(ctx, \"exampleMember\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinviteeAccount, err := securityhub.NewAccount(ctx, \"inviteeAccount\", nil, pulumi.Provider(\"aws.invitee\"))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInviteAccepter(ctx, \"inviteeInviteAccepter\", \u0026securityhub.InviteAccepterArgs{\n\t\t\tMasterId: exampleMember.MasterId,\n\t\t}, pulumi.Provider(\"aws.invitee\"), pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinviteeAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.aws.securityhub.AccountArgs;\nimport com.pulumi.aws.securityhub.InviteAccepter;\nimport com.pulumi.aws.securityhub.InviteAccepterArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build());\n\n var inviteeAccount = new Account(\"inviteeAccount\", AccountArgs.Empty, CustomResourceOptions.builder()\n .provider(\"aws.invitee\")\n .build());\n\n var inviteeInviteAccepter = new InviteAccepter(\"inviteeInviteAccepter\", InviteAccepterArgs.builder() \n .masterId(exampleMember.masterId())\n .build(), CustomResourceOptions.builder()\n .provider(\"aws.invitee\")\n .dependsOn(inviteeAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n inviteeAccount:\n type: aws:securityhub:Account\n options:\n provider: aws.invitee\n inviteeInviteAccepter:\n type: aws:securityhub:InviteAccepter\n properties:\n masterId: ${exampleMember.masterId}\n options:\n provider: aws.invitee\n dependson:\n - ${inviteeAccount}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Security Hub invite acceptance using the account ID. For example:\n\n```sh\n $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012\n```\n ", + "description": "\u003e **Note:** AWS accounts can only be associated with a single Security Hub master account. Destroying this resource will disassociate the member account from the master account.\n\nAccepts a Security Hub invitation.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleMember = new aws.securityhub.Member(\"exampleMember\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n});\nconst inviteeAccount = new aws.securityhub.Account(\"inviteeAccount\", {}, {\n provider: \"aws.invitee\",\n});\nconst inviteeInviteAccepter = new aws.securityhub.InviteAccepter(\"inviteeInviteAccepter\", {masterId: exampleMember.masterId}, {\n provider: \"aws.invitee\",\n dependsOn: [inviteeAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_member = aws.securityhub.Member(\"exampleMember\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True)\ninvitee_account = aws.securityhub.Account(\"inviteeAccount\", opts=pulumi.ResourceOptions(provider=\"aws.invitee\"))\ninvitee_invite_accepter = aws.securityhub.InviteAccepter(\"inviteeInviteAccepter\", master_id=example_member.master_id,\nopts=pulumi.ResourceOptions(provider=\"aws.invitee\",\n depends_on=[invitee_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"exampleMember\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n });\n\n var inviteeAccount = new Aws.SecurityHub.Account(\"inviteeAccount\", new()\n {\n }, new CustomResourceOptions\n {\n Provider = \"aws.invitee\",\n });\n\n var inviteeInviteAccepter = new Aws.SecurityHub.InviteAccepter(\"inviteeInviteAccepter\", new()\n {\n MasterId = exampleMember.MasterId,\n }, new CustomResourceOptions\n {\n Provider = \"aws.invitee\",\n DependsOn = new[]\n {\n inviteeAccount,\n },\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, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleMember, err := securityhub.NewMember(ctx, \"exampleMember\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinviteeAccount, err := securityhub.NewAccount(ctx, \"inviteeAccount\", nil, pulumi.Provider(\"aws.invitee\"))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewInviteAccepter(ctx, \"inviteeInviteAccepter\", \u0026securityhub.InviteAccepterArgs{\n\t\t\tMasterId: exampleMember.MasterId,\n\t\t}, pulumi.Provider(\"aws.invitee\"), pulumi.DependsOn([]pulumi.Resource{\n\t\t\tinviteeAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\nimport com.pulumi.aws.securityhub.AccountArgs;\nimport com.pulumi.aws.securityhub.InviteAccepter;\nimport com.pulumi.aws.securityhub.InviteAccepterArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build());\n\n var inviteeAccount = new Account(\"inviteeAccount\", AccountArgs.Empty, CustomResourceOptions.builder()\n .provider(\"aws.invitee\")\n .build());\n\n var inviteeInviteAccepter = new InviteAccepter(\"inviteeInviteAccepter\", InviteAccepterArgs.builder() \n .masterId(exampleMember.masterId())\n .build(), CustomResourceOptions.builder()\n .provider(\"aws.invitee\")\n .dependsOn(inviteeAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n inviteeAccount:\n type: aws:securityhub:Account\n options:\n provider: aws.invitee\n inviteeInviteAccepter:\n type: aws:securityhub:InviteAccepter\n properties:\n masterId: ${exampleMember.masterId}\n options:\n provider: aws.invitee\n dependson:\n - ${inviteeAccount}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import {\n\n to = aws_securityhub_invite_accepter.example\n\n id = \"123456789012\" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 ", "properties": { "invitationId": { "type": "string", @@ -284152,7 +284498,7 @@ } }, "aws:securityhub/member:Member": { - "description": "Provides a Security Hub member resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleMember = new aws.securityhub.Member(\"exampleMember\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_member = aws.securityhub.Member(\"exampleMember\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True,\n opts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"exampleMember\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewMember(ctx, \"exampleMember\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Security Hub members using their account ID. For example:\n\n```sh\n $ pulumi import aws:securityhub/member:Member example 123456789012\n```\n ", + "description": "Provides a Security Hub member resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst exampleMember = new aws.securityhub.Member(\"exampleMember\", {\n accountId: \"123456789012\",\n email: \"example@example.com\",\n invite: true,\n}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\nexample_member = aws.securityhub.Member(\"exampleMember\",\n account_id=\"123456789012\",\n email=\"example@example.com\",\n invite=True,\n opts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var exampleMember = new Aws.SecurityHub.Member(\"exampleMember\", new()\n {\n AccountId = \"123456789012\",\n Email = \"example@example.com\",\n Invite = true,\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewMember(ctx, \"exampleMember\", \u0026securityhub.MemberArgs{\n\t\t\tAccountId: pulumi.String(\"123456789012\"),\n\t\t\tEmail: pulumi.String(\"example@example.com\"),\n\t\t\tInvite: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.Member;\nimport com.pulumi.aws.securityhub.MemberArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n var exampleMember = new Member(\"exampleMember\", MemberArgs.builder() \n .accountId(\"123456789012\")\n .email(\"example@example.com\")\n .invite(true)\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleMember:\n type: aws:securityhub:Member\n properties:\n accountId: '123456789012'\n email: example@example.com\n invite: true\n options:\n dependson:\n - ${exampleAccount}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import {\n\n to = aws_securityhub_member.example\n\n id = \"123456789012\" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 ", "properties": { "accountId": { "type": "string", @@ -284264,7 +284610,7 @@ } }, "aws:securityhub/organizationConfiguration:OrganizationConfiguration": { - "description": "Manages the Security Hub Organization Configuration.\n\n\u003e **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation\n\n\u003e **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"exampleOrganization\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [exampleOrganization],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"exampleOrganizationConfiguration\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"exampleOrganization\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example_organization]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"exampleOrganizationConfiguration\", auto_enable=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 exampleOrganization = new Aws.Organizations.Organization(\"exampleOrganization\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleOrganization,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"exampleOrganizationConfiguration\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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\texampleOrganization, err := organizations.NewOrganization(ctx, \"exampleOrganization\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"exampleOrganizationAdminAccount\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganization,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"exampleOrganizationConfiguration\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\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 exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganization)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleOrganization:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${exampleOrganization}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n properties:\n autoEnable: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:\n\n```sh\n $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012\n```\n ", + "description": "Manages the Security Hub Organization Configuration.\n\n\u003e **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation\n\n\u003e **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleOrganization = new aws.organizations.Organization(\"exampleOrganization\", {\n awsServiceAccessPrincipals: [\"securityhub.amazonaws.com\"],\n featureSet: \"ALL\",\n});\nconst exampleOrganizationAdminAccount = new aws.securityhub.OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", {adminAccountId: \"123456789012\"}, {\n dependsOn: [exampleOrganization],\n});\nconst exampleOrganizationConfiguration = new aws.securityhub.OrganizationConfiguration(\"exampleOrganizationConfiguration\", {autoEnable: true});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_organization = aws.organizations.Organization(\"exampleOrganization\",\n aws_service_access_principals=[\"securityhub.amazonaws.com\"],\n feature_set=\"ALL\")\nexample_organization_admin_account = aws.securityhub.OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", admin_account_id=\"123456789012\",\nopts=pulumi.ResourceOptions(depends_on=[example_organization]))\nexample_organization_configuration = aws.securityhub.OrganizationConfiguration(\"exampleOrganizationConfiguration\", auto_enable=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 exampleOrganization = new Aws.Organizations.Organization(\"exampleOrganization\", new()\n {\n AwsServiceAccessPrincipals = new[]\n {\n \"securityhub.amazonaws.com\",\n },\n FeatureSet = \"ALL\",\n });\n\n var exampleOrganizationAdminAccount = new Aws.SecurityHub.OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", new()\n {\n AdminAccountId = \"123456789012\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleOrganization,\n },\n });\n\n var exampleOrganizationConfiguration = new Aws.SecurityHub.OrganizationConfiguration(\"exampleOrganizationConfiguration\", new()\n {\n AutoEnable = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations\"\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\texampleOrganization, err := organizations.NewOrganization(ctx, \"exampleOrganization\", \u0026organizations.OrganizationArgs{\n\t\t\tAwsServiceAccessPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"securityhub.amazonaws.com\"),\n\t\t\t},\n\t\t\tFeatureSet: pulumi.String(\"ALL\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationAdminAccount(ctx, \"exampleOrganizationAdminAccount\", \u0026securityhub.OrganizationAdminAccountArgs{\n\t\t\tAdminAccountId: pulumi.String(\"123456789012\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleOrganization,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewOrganizationConfiguration(ctx, \"exampleOrganizationConfiguration\", \u0026securityhub.OrganizationConfigurationArgs{\n\t\t\tAutoEnable: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.organizations.Organization;\nimport com.pulumi.aws.organizations.OrganizationArgs;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccount;\nimport com.pulumi.aws.securityhub.OrganizationAdminAccountArgs;\nimport com.pulumi.aws.securityhub.OrganizationConfiguration;\nimport com.pulumi.aws.securityhub.OrganizationConfigurationArgs;\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 exampleOrganization = new Organization(\"exampleOrganization\", OrganizationArgs.builder() \n .awsServiceAccessPrincipals(\"securityhub.amazonaws.com\")\n .featureSet(\"ALL\")\n .build());\n\n var exampleOrganizationAdminAccount = new OrganizationAdminAccount(\"exampleOrganizationAdminAccount\", OrganizationAdminAccountArgs.builder() \n .adminAccountId(\"123456789012\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleOrganization)\n .build());\n\n var exampleOrganizationConfiguration = new OrganizationConfiguration(\"exampleOrganizationConfiguration\", OrganizationConfigurationArgs.builder() \n .autoEnable(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleOrganization:\n type: aws:organizations:Organization\n properties:\n awsServiceAccessPrincipals:\n - securityhub.amazonaws.com\n featureSet: ALL\n exampleOrganizationAdminAccount:\n type: aws:securityhub:OrganizationAdminAccount\n properties:\n adminAccountId: '123456789012'\n options:\n dependson:\n - ${exampleOrganization}\n exampleOrganizationConfiguration:\n type: aws:securityhub:OrganizationConfiguration\n properties:\n autoEnable: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import {\n\n to = aws_securityhub_organization_configuration.example\n\n id = \"123456789012\" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 ", "properties": { "autoEnable": { "type": "boolean", @@ -284308,7 +284654,7 @@ } }, "aws:securityhub/productSubscription:ProductSubscription": { - "description": "Subscribes to a Security Hub product.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst current = aws.getRegion({});\nconst exampleProductSubscription = new aws.securityhub.ProductSubscription(\"exampleProductSubscription\", {productArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement`)}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\ncurrent = aws.get_region()\nexample_product_subscription = aws.securityhub.ProductSubscription(\"exampleProductSubscription\", product_arn=f\"arn:aws:securityhub:{current.name}:733251395267:product/alertlogic/althreatmanagement\",\nopts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var current = Aws.GetRegion.Invoke();\n\n var exampleProductSubscription = new Aws.SecurityHub.ProductSubscription(\"exampleProductSubscription\", new()\n {\n ProductArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:733251395267:product/alertlogic/althreatmanagement\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewProductSubscription(ctx, \"exampleProductSubscription\", \u0026securityhub.ProductSubscriptionArgs{\n\t\t\tProductArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.ProductSubscription;\nimport com.pulumi.aws.securityhub.ProductSubscriptionArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n final var current = AwsFunctions.getRegion();\n\n var exampleProductSubscription = new ProductSubscription(\"exampleProductSubscription\", ProductSubscriptionArgs.builder() \n .productArn(String.format(\"arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleProductSubscription:\n type: aws:securityhub:ProductSubscription\n properties:\n productArn: arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement\n options:\n dependson:\n - ${exampleAccount}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example:\n\n```sh\n $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement\n```\n ", + "description": "Subscribes to a Security Hub product.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleAccount = new aws.securityhub.Account(\"exampleAccount\", {});\nconst current = aws.getRegion({});\nconst exampleProductSubscription = new aws.securityhub.ProductSubscription(\"exampleProductSubscription\", {productArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement`)}, {\n dependsOn: [exampleAccount],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_account = aws.securityhub.Account(\"exampleAccount\")\ncurrent = aws.get_region()\nexample_product_subscription = aws.securityhub.ProductSubscription(\"exampleProductSubscription\", product_arn=f\"arn:aws:securityhub:{current.name}:733251395267:product/alertlogic/althreatmanagement\",\nopts=pulumi.ResourceOptions(depends_on=[example_account]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleAccount = new Aws.SecurityHub.Account(\"exampleAccount\");\n\n var current = Aws.GetRegion.Invoke();\n\n var exampleProductSubscription = new Aws.SecurityHub.ProductSubscription(\"exampleProductSubscription\", new()\n {\n ProductArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}:733251395267:product/alertlogic/althreatmanagement\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n exampleAccount,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\texampleAccount, err := securityhub.NewAccount(ctx, \"exampleAccount\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewProductSubscription(ctx, \"exampleProductSubscription\", \u0026securityhub.ProductSubscriptionArgs{\n\t\t\tProductArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v:733251395267:product/alertlogic/althreatmanagement\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texampleAccount,\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.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.ProductSubscription;\nimport com.pulumi.aws.securityhub.ProductSubscriptionArgs;\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 exampleAccount = new Account(\"exampleAccount\");\n\n final var current = AwsFunctions.getRegion();\n\n var exampleProductSubscription = new ProductSubscription(\"exampleProductSubscription\", ProductSubscriptionArgs.builder() \n .productArn(String.format(\"arn:aws:securityhub:%s:733251395267:product/alertlogic/althreatmanagement\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(exampleAccount)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAccount:\n type: aws:securityhub:Account\n exampleProductSubscription:\n type: aws:securityhub:ProductSubscription\n properties:\n productArn: arn:aws:securityhub:${current.name}:733251395267:product/alertlogic/althreatmanagement\n options:\n dependson:\n - ${exampleAccount}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import {\n\n to = aws_securityhub_product_subscription.example\n\n id = \"arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement\" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement ", "properties": { "arn": { "type": "string", @@ -284350,7 +284696,7 @@ } }, "aws:securityhub/standardsControl:StandardsControl": { - "description": "Disable/enable Security Hub standards control in the current region.\n\nThe `aws.securityhub.StandardsControl` behaves differently from normal resources, in that\nThe provider does not _create_ this resource, but instead \"adopts\" it\ninto management. When you _delete_ this resource configuration, the provider \"abandons\" resource as is and just removes it from the state.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cisAwsFoundationsBenchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst ensureIamPasswordPolicyPreventsPasswordReuse = new aws.securityhub.StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", {\n standardsControlArn: \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n controlStatus: \"DISABLED\",\n disabledReason: \"We handle password policies within Okta\",\n}, {\n dependsOn: [cisAwsFoundationsBenchmark],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cisAwsFoundationsBenchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nensure_iam_password_policy_prevents_password_reuse = aws.securityhub.StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\",\n standards_control_arn=\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n control_status=\"DISABLED\",\n disabled_reason=\"We handle password policies within Okta\",\n opts=pulumi.ResourceOptions(depends_on=[cis_aws_foundations_benchmark]))\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.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cisAwsFoundationsBenchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n example,\n },\n });\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new Aws.SecurityHub.StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", new()\n {\n StandardsControlArn = \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n ControlStatus = \"DISABLED\",\n DisabledReason = \"We handle password policies within Okta\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n cisAwsFoundationsBenchmark,\n },\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\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cisAwsFoundationsBenchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControl(ctx, \"ensureIamPasswordPolicyPreventsPasswordReuse\", \u0026securityhub.StandardsControlArgs{\n\t\t\tStandardsControlArn: pulumi.String(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\"),\n\t\t\tControlStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDisabledReason: pulumi.String(\"We handle password policies within Okta\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcisAwsFoundationsBenchmark,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControl;\nimport com.pulumi.aws.securityhub.StandardsControlArgs;\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 Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder() \n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", StandardsControlArgs.builder() \n .standardsControlArn(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\")\n .controlStatus(\"DISABLED\")\n .disabledReason(\"We handle password policies within Okta\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(cisAwsFoundationsBenchmark)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n ensureIamPasswordPolicyPreventsPasswordReuse:\n type: aws:securityhub:StandardsControl\n properties:\n standardsControlArn: arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\n controlStatus: DISABLED\n disabledReason: We handle password policies within Okta\n options:\n dependson:\n - ${cisAwsFoundationsBenchmark}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Disable/enable Security Hub standards control in the current region.\n\nThe `aws.securityhub.StandardsControl` behaves differently from normal resources, in that\nTODO does not _create_ this resource, but instead \"adopts\" it\ninto management. When you _delete_ this resource configuration, TODO \"abandons\" resource as is and just removes it from the state.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst cisAwsFoundationsBenchmark = new aws.securityhub.StandardsSubscription(\"cisAwsFoundationsBenchmark\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst ensureIamPasswordPolicyPreventsPasswordReuse = new aws.securityhub.StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", {\n standardsControlArn: \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n controlStatus: \"DISABLED\",\n disabledReason: \"We handle password policies within Okta\",\n}, {\n dependsOn: [cisAwsFoundationsBenchmark],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncis_aws_foundations_benchmark = aws.securityhub.StandardsSubscription(\"cisAwsFoundationsBenchmark\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\nensure_iam_password_policy_prevents_password_reuse = aws.securityhub.StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\",\n standards_control_arn=\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n control_status=\"DISABLED\",\n disabled_reason=\"We handle password policies within Okta\",\n opts=pulumi.ResourceOptions(depends_on=[cis_aws_foundations_benchmark]))\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.SecurityHub.Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new Aws.SecurityHub.StandardsSubscription(\"cisAwsFoundationsBenchmark\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n example,\n },\n });\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new Aws.SecurityHub.StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", new()\n {\n StandardsControlArn = \"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\",\n ControlStatus = \"DISABLED\",\n DisabledReason = \"We handle password policies within Okta\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n cisAwsFoundationsBenchmark,\n },\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\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcisAwsFoundationsBenchmark, err := securityhub.NewStandardsSubscription(ctx, \"cisAwsFoundationsBenchmark\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsControl(ctx, \"ensureIamPasswordPolicyPreventsPasswordReuse\", \u0026securityhub.StandardsControlArgs{\n\t\t\tStandardsControlArn: pulumi.String(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\"),\n\t\t\tControlStatus: pulumi.String(\"DISABLED\"),\n\t\t\tDisabledReason: pulumi.String(\"We handle password policies within Okta\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tcisAwsFoundationsBenchmark,\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.securityhub.Account;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\nimport com.pulumi.aws.securityhub.StandardsControl;\nimport com.pulumi.aws.securityhub.StandardsControlArgs;\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 Account(\"example\");\n\n var cisAwsFoundationsBenchmark = new StandardsSubscription(\"cisAwsFoundationsBenchmark\", StandardsSubscriptionArgs.builder() \n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var ensureIamPasswordPolicyPreventsPasswordReuse = new StandardsControl(\"ensureIamPasswordPolicyPreventsPasswordReuse\", StandardsControlArgs.builder() \n .standardsControlArn(\"arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\")\n .controlStatus(\"DISABLED\")\n .disabledReason(\"We handle password policies within Okta\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(cisAwsFoundationsBenchmark)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cisAwsFoundationsBenchmark:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n ensureIamPasswordPolicyPreventsPasswordReuse:\n type: aws:securityhub:StandardsControl\n properties:\n standardsControlArn: arn:aws:securityhub:us-east-1:111111111111:control/cis-aws-foundations-benchmark/v/1.2.0/1.10\n controlStatus: DISABLED\n disabledReason: We handle password policies within Okta\n options:\n dependson:\n - ${cisAwsFoundationsBenchmark}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "controlId": { "type": "string", @@ -284479,7 +284825,7 @@ } }, "aws:securityhub/standardsSubscription:StandardsSubscription": { - "description": "Subscribes to a Security Hub standard.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst cis = new aws.securityhub.StandardsSubscription(\"cis\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst pci321 = new aws.securityhub.StandardsSubscription(\"pci321\", {standardsArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\ncis = aws.securityhub.StandardsSubscription(\"cis\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\npci321 = aws.securityhub.StandardsSubscription(\"pci321\", standards_arn=f\"arn:aws:securityhub:{current.name}::standards/pci-dss/v/3.2.1\",\nopts=pulumi.ResourceOptions(depends_on=[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 example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var cis = new Aws.SecurityHub.StandardsSubscription(\"cis\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n example,\n },\n });\n\n var pci321 = new Aws.SecurityHub.StandardsSubscription(\"pci321\", new()\n {\n StandardsArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}::standards/pci-dss/v/3.2.1\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"cis\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"pci321\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v::standards/pci-dss/v/3.2.1\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\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 Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var cis = new StandardsSubscription(\"cis\", StandardsSubscriptionArgs.builder() \n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var pci321 = new StandardsSubscription(\"pci321\", StandardsSubscriptionArgs.builder() \n .standardsArn(String.format(\"arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cis:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n pci321:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:\n\n```sh\n $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0\n```\n ```sh\n $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1\n```\n ```sh\n $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0\n```\n ", + "description": "Subscribes to a Security Hub standard.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.securityhub.Account(\"example\", {});\nconst current = aws.getRegion({});\nconst cis = new aws.securityhub.StandardsSubscription(\"cis\", {standardsArn: \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"}, {\n dependsOn: [example],\n});\nconst pci321 = new aws.securityhub.StandardsSubscription(\"pci321\", {standardsArn: current.then(current =\u003e `arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1`)}, {\n dependsOn: [example],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.securityhub.Account(\"example\")\ncurrent = aws.get_region()\ncis = aws.securityhub.StandardsSubscription(\"cis\", standards_arn=\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\nopts=pulumi.ResourceOptions(depends_on=[example]))\npci321 = aws.securityhub.StandardsSubscription(\"pci321\", standards_arn=f\"arn:aws:securityhub:{current.name}::standards/pci-dss/v/3.2.1\",\nopts=pulumi.ResourceOptions(depends_on=[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 example = new Aws.SecurityHub.Account(\"example\");\n\n var current = Aws.GetRegion.Invoke();\n\n var cis = new Aws.SecurityHub.StandardsSubscription(\"cis\", new()\n {\n StandardsArn = \"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n example,\n },\n });\n\n var pci321 = new Aws.SecurityHub.StandardsSubscription(\"pci321\", new()\n {\n StandardsArn = $\"arn:aws:securityhub:{current.Apply(getRegionResult =\u003e getRegionResult.Name)}::standards/pci-dss/v/3.2.1\",\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n example,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\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\texample, err := securityhub.NewAccount(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrent, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"cis\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = securityhub.NewStandardsSubscription(ctx, \"pci321\", \u0026securityhub.StandardsSubscriptionArgs{\n\t\t\tStandardsArn: pulumi.String(fmt.Sprintf(\"arn:aws:securityhub:%v::standards/pci-dss/v/3.2.1\", current.Name)),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\texample,\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.securityhub.Account;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.securityhub.StandardsSubscription;\nimport com.pulumi.aws.securityhub.StandardsSubscriptionArgs;\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 Account(\"example\");\n\n final var current = AwsFunctions.getRegion();\n\n var cis = new StandardsSubscription(\"cis\", StandardsSubscriptionArgs.builder() \n .standardsArn(\"arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\")\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n var pci321 = new StandardsSubscription(\"pci321\", StandardsSubscriptionArgs.builder() \n .standardsArn(String.format(\"arn:aws:securityhub:%s::standards/pci-dss/v/3.2.1\", current.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build(), CustomResourceOptions.builder()\n .dependsOn(example)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:securityhub:Account\n cis:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0\n options:\n dependson:\n - ${example}\n pci321:\n type: aws:securityhub:StandardsSubscription\n properties:\n standardsArn: arn:aws:securityhub:${current.name}::standards/pci-dss/v/3.2.1\n options:\n dependson:\n - ${example}\nvariables:\n current:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import {\n\n to = aws_securityhub_standards_subscription.cis\n\n id = \"arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0\" } terraform import {\n\n to = aws_securityhub_standards_subscription.pci_321\n\n id = \"arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1\" } terraform import {\n\n to = aws_securityhub_standards_subscription.nist_800_53_rev_5\n\n id = \"arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0\" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 ", "properties": { "standardsArn": { "type": "string", @@ -285100,7 +285446,7 @@ } }, "aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation": { - "description": "Manages a Service Catalog Principal Portfolio Association.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.PrincipalPortfolioAssociation(\"example\", {\n portfolioId: \"port-68656c6c6f\",\n principalArn: \"arn:aws:iam::123456789012:user/Eleanor\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.PrincipalPortfolioAssociation(\"example\",\n portfolio_id=\"port-68656c6c6f\",\n principal_arn=\"arn:aws:iam::123456789012:user/Eleanor\")\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.ServiceCatalog.PrincipalPortfolioAssociation(\"example\", new()\n {\n PortfolioId = \"port-68656c6c6f\",\n PrincipalArn = \"arn:aws:iam::123456789012:user/Eleanor\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.NewPrincipalPortfolioAssociation(ctx, \"example\", \u0026servicecatalog.PrincipalPortfolioAssociationArgs{\n\t\t\tPortfolioId: pulumi.String(\"port-68656c6c6f\"),\n\t\t\tPrincipalArn: pulumi.String(\"arn:aws:iam::123456789012:user/Eleanor\"),\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.servicecatalog.PrincipalPortfolioAssociation;\nimport com.pulumi.aws.servicecatalog.PrincipalPortfolioAssociationArgs;\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 PrincipalPortfolioAssociation(\"example\", PrincipalPortfolioAssociationArgs.builder() \n .portfolioId(\"port-68656c6c6f\")\n .principalArn(\"arn:aws:iam::123456789012:user/Eleanor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:PrincipalPortfolioAssociation\n properties:\n portfolioId: port-68656c6c6f\n principalArn: arn:aws:iam::123456789012:user/Eleanor\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example:\n\n```sh\n $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f\n```\n ", + "description": "Manages a Service Catalog Principal Portfolio Association.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.servicecatalog.PrincipalPortfolioAssociation(\"example\", {\n portfolioId: \"port-68656c6c6f\",\n principalArn: \"arn:aws:iam::123456789012:user/Eleanor\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.servicecatalog.PrincipalPortfolioAssociation(\"example\",\n portfolio_id=\"port-68656c6c6f\",\n principal_arn=\"arn:aws:iam::123456789012:user/Eleanor\")\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.ServiceCatalog.PrincipalPortfolioAssociation(\"example\", new()\n {\n PortfolioId = \"port-68656c6c6f\",\n PrincipalArn = \"arn:aws:iam::123456789012:user/Eleanor\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog\"\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 := servicecatalog.NewPrincipalPortfolioAssociation(ctx, \"example\", \u0026servicecatalog.PrincipalPortfolioAssociationArgs{\n\t\t\tPortfolioId: pulumi.String(\"port-68656c6c6f\"),\n\t\t\tPrincipalArn: pulumi.String(\"arn:aws:iam::123456789012:user/Eleanor\"),\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.servicecatalog.PrincipalPortfolioAssociation;\nimport com.pulumi.aws.servicecatalog.PrincipalPortfolioAssociationArgs;\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 PrincipalPortfolioAssociation(\"example\", PrincipalPortfolioAssociationArgs.builder() \n .portfolioId(\"port-68656c6c6f\")\n .principalArn(\"arn:aws:iam::123456789012:user/Eleanor\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:servicecatalog:PrincipalPortfolioAssociation\n properties:\n portfolioId: port-68656c6c6f\n principalArn: arn:aws:iam::123456789012:user/Eleanor\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:\n\nUsing `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:\n\n```sh\n $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM\n```\n ", "properties": { "acceptLanguage": { "type": "string", @@ -285116,7 +285462,7 @@ }, "principalType": { "type": "string", - "description": "Principal type. Setting this argument empty (e.g., `principal_type = \"\"`) will result in an error. Valid value is `IAM`. Default is `IAM`.\n" + "description": "Principal type. Setting this argument empty (e.g., `principal_type = \"\"`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`.\n" } }, "required": [ @@ -285141,7 +285487,7 @@ }, "principalType": { "type": "string", - "description": "Principal type. Setting this argument empty (e.g., `principal_type = \"\"`) will result in an error. Valid value is `IAM`. Default is `IAM`.\n", + "description": "Principal type. Setting this argument empty (e.g., `principal_type = \"\"`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`.\n", "willReplaceOnChanges": true } }, @@ -285169,7 +285515,7 @@ }, "principalType": { "type": "string", - "description": "Principal type. Setting this argument empty (e.g., `principal_type = \"\"`) will result in an error. Valid value is `IAM`. Default is `IAM`.\n", + "description": "Principal type. Setting this argument empty (e.g., `principal_type = \"\"`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`.\n", "willReplaceOnChanges": true } }, @@ -287363,7 +287709,7 @@ } }, "aws:ses/identityNotificationTopic:IdentityNotificationTopic": { - "description": "Resource for managing SES Identity Notification Topics\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.IdentityNotificationTopic(\"test\", {\n topicArn: aws_sns_topic.example.arn,\n notificationType: \"Bounce\",\n identity: aws_ses_domain_identity.example.domain,\n includeOriginalHeaders: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.IdentityNotificationTopic(\"test\",\n topic_arn=aws_sns_topic[\"example\"][\"arn\"],\n notification_type=\"Bounce\",\n identity=aws_ses_domain_identity[\"example\"][\"domain\"],\n include_original_headers=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 test = new Aws.Ses.IdentityNotificationTopic(\"test\", new()\n {\n TopicArn = aws_sns_topic.Example.Arn,\n NotificationType = \"Bounce\",\n Identity = aws_ses_domain_identity.Example.Domain,\n IncludeOriginalHeaders = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.NewIdentityNotificationTopic(ctx, \"test\", \u0026ses.IdentityNotificationTopicArgs{\n\t\t\tTopicArn: pulumi.Any(aws_sns_topic.Example.Arn),\n\t\t\tNotificationType: pulumi.String(\"Bounce\"),\n\t\t\tIdentity: pulumi.Any(aws_ses_domain_identity.Example.Domain),\n\t\t\tIncludeOriginalHeaders: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.IdentityNotificationTopic;\nimport com.pulumi.aws.ses.IdentityNotificationTopicArgs;\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 IdentityNotificationTopic(\"test\", IdentityNotificationTopicArgs.builder() \n .topicArn(aws_sns_topic.example().arn())\n .notificationType(\"Bounce\")\n .identity(aws_ses_domain_identity.example().domain())\n .includeOriginalHeaders(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:IdentityNotificationTopic\n properties:\n topicArn: ${aws_sns_topic.example.arn}\n notificationType: Bounce\n identity: ${aws_ses_domain_identity.example.domain}\n includeOriginalHeaders: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:\n\n```sh\n $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce'\n```\n ", + "description": "Resource for managing SES Identity Notification Topics\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.ses.IdentityNotificationTopic(\"test\", {\n topicArn: aws_sns_topic.example.arn,\n notificationType: \"Bounce\",\n identity: aws_ses_domain_identity.example.domain,\n includeOriginalHeaders: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.ses.IdentityNotificationTopic(\"test\",\n topic_arn=aws_sns_topic[\"example\"][\"arn\"],\n notification_type=\"Bounce\",\n identity=aws_ses_domain_identity[\"example\"][\"domain\"],\n include_original_headers=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 test = new Aws.Ses.IdentityNotificationTopic(\"test\", new()\n {\n TopicArn = aws_sns_topic.Example.Arn,\n NotificationType = \"Bounce\",\n Identity = aws_ses_domain_identity.Example.Domain,\n IncludeOriginalHeaders = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses\"\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 := ses.NewIdentityNotificationTopic(ctx, \"test\", \u0026ses.IdentityNotificationTopicArgs{\n\t\t\tTopicArn: pulumi.Any(aws_sns_topic.Example.Arn),\n\t\t\tNotificationType: pulumi.String(\"Bounce\"),\n\t\t\tIdentity: pulumi.Any(aws_ses_domain_identity.Example.Domain),\n\t\t\tIncludeOriginalHeaders: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ses.IdentityNotificationTopic;\nimport com.pulumi.aws.ses.IdentityNotificationTopicArgs;\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 IdentityNotificationTopic(\"test\", IdentityNotificationTopicArgs.builder() \n .topicArn(aws_sns_topic.example().arn())\n .notificationType(\"Bounce\")\n .identity(aws_ses_domain_identity.example().domain())\n .includeOriginalHeaders(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:ses:IdentityNotificationTopic\n properties:\n topicArn: ${aws_sns_topic.example.arn}\n notificationType: Bounce\n identity: ${aws_ses_domain_identity.example.domain}\n includeOriginalHeaders: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import {\n\n to = aws_ses_identity_notification_topic.test\n\n id = \"example.com|Bounce\" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' ", "properties": { "identity": { "type": "string", @@ -289114,6 +289460,100 @@ "type": "object" } }, + "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": { + "description": "Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", {roleArn: `arn:aws:iam:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:${_var.shield_drt_access_role_name}`});\nconst testDrtAccessLogBucketAssociation = new aws.shield.DrtAccessLogBucketAssociation(\"testDrtAccessLogBucketAssociation\", {\n logBucket: _var.shield_drt_access_log_bucket,\n roleArnAssociationId: testDrtAccessRoleArnAssociation.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", role_arn=f\"arn:aws:iam:{data['aws_region']['current']['name']}:{data['aws_caller_identity']['current']['account_id']}:{var['shield_drt_access_role_name']}\")\ntest_drt_access_log_bucket_association = aws.shield.DrtAccessLogBucketAssociation(\"testDrtAccessLogBucketAssociation\",\n log_bucket=var[\"shield_drt_access_log_bucket\"],\n role_arn_association_id=test_drt_access_role_arn_association.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 testDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", new()\n {\n RoleArn = $\"arn:aws:iam:{data.Aws_region.Current.Name}:{data.Aws_caller_identity.Current.Account_id}:{@var.Shield_drt_access_role_name}\",\n });\n\n var testDrtAccessLogBucketAssociation = new Aws.Shield.DrtAccessLogBucketAssociation(\"testDrtAccessLogBucketAssociation\", new()\n {\n LogBucket = @var.Shield_drt_access_log_bucket,\n RoleArnAssociationId = testDrtAccessRoleArnAssociation.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestDrtAccessRoleArnAssociation, err := shield.NewDrtAccessRoleArnAssociation(ctx, \"testDrtAccessRoleArnAssociation\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: pulumi.String(fmt.Sprintf(\"arn:aws:iam:%v:%v:%v\", data.Aws_region.Current.Name, data.Aws_caller_identity.Current.Account_id, _var.Shield_drt_access_role_name)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessLogBucketAssociation(ctx, \"testDrtAccessLogBucketAssociation\", \u0026shield.DrtAccessLogBucketAssociationArgs{\n\t\t\tLogBucket: pulumi.Any(_var.Shield_drt_access_log_bucket),\n\t\t\tRoleArnAssociationId: testDrtAccessRoleArnAssociation.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\nimport com.pulumi.aws.shield.DrtAccessLogBucketAssociation;\nimport com.pulumi.aws.shield.DrtAccessLogBucketAssociationArgs;\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 testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder() \n .roleArn(String.format(\"arn:aws:iam:%s:%s:%s\", data.aws_region().current().name(),data.aws_caller_identity().current().account_id(),var_.shield_drt_access_role_name()))\n .build());\n\n var testDrtAccessLogBucketAssociation = new DrtAccessLogBucketAssociation(\"testDrtAccessLogBucketAssociation\", DrtAccessLogBucketAssociationArgs.builder() \n .logBucket(var_.shield_drt_access_log_bucket())\n .roleArnAssociationId(testDrtAccessRoleArnAssociation.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n properties:\n roleArn: arn:aws:iam:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:${var.shield_drt_access_role_name}\n testDrtAccessLogBucketAssociation:\n type: aws:shield:DrtAccessLogBucketAssociation\n properties:\n logBucket: ${var.shield_drt_access_log_bucket}\n roleArnAssociationId: ${testDrtAccessRoleArnAssociation.id}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "logBucket": { + "type": "string", + "description": "The Amazon S3 bucket that contains the logs that you want to share.\n" + }, + "roleArnAssociationId": { + "type": "string", + "description": "The ID of the Role Arn association used for allowing Shield DRT Access.\n" + }, + "timeouts": { + "$ref": "#/types/aws:shield/DrtAccessLogBucketAssociationTimeouts:DrtAccessLogBucketAssociationTimeouts" + } + }, + "required": [ + "logBucket", + "roleArnAssociationId" + ], + "inputProperties": { + "logBucket": { + "type": "string", + "description": "The Amazon S3 bucket that contains the logs that you want to share.\n" + }, + "roleArnAssociationId": { + "type": "string", + "description": "The ID of the Role Arn association used for allowing Shield DRT Access.\n" + }, + "timeouts": { + "$ref": "#/types/aws:shield/DrtAccessLogBucketAssociationTimeouts:DrtAccessLogBucketAssociationTimeouts" + } + }, + "requiredInputs": [ + "logBucket", + "roleArnAssociationId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DrtAccessLogBucketAssociation resources.\n", + "properties": { + "logBucket": { + "type": "string", + "description": "The Amazon S3 bucket that contains the logs that you want to share.\n" + }, + "roleArnAssociationId": { + "type": "string", + "description": "The ID of the Role Arn association used for allowing Shield DRT Access.\n" + }, + "timeouts": { + "$ref": "#/types/aws:shield/DrtAccessLogBucketAssociationTimeouts:DrtAccessLogBucketAssociationTimeouts" + } + }, + "type": "object" + } + }, + "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": { + "description": "Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html)\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testRole = new aws.iam.Role(\"testRole\", {assumeRolePolicy: JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"\",\n Effect: \"Allow\",\n Principal: {\n Service: \"drt.shield.amazonaws.com\",\n },\n Action: \"sts:AssumeRole\",\n }],\n})});\nconst testRolePolicyAttachment = new aws.iam.RolePolicyAttachment(\"testRolePolicyAttachment\", {\n role: testRole.name,\n policyArn: \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n});\nconst testDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", {roleArn: testRole.arn});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\ntest_role = aws.iam.Role(\"testRole\", assume_role_policy=json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"Service\": \"drt.shield.amazonaws.com\",\n },\n \"Action\": \"sts:AssumeRole\",\n }],\n}))\ntest_role_policy_attachment = aws.iam.RolePolicyAttachment(\"testRolePolicyAttachment\",\n role=test_role.name,\n policy_arn=\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\ntest_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", role_arn=test_role.arn)\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(\"testRole\", new()\n {\n AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"\",\n [\"Effect\"] = \"Allow\",\n [\"Principal\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Service\"] = \"drt.shield.amazonaws.com\",\n },\n [\"Action\"] = \"sts:AssumeRole\",\n },\n },\n }),\n });\n\n var testRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment(\"testRolePolicyAttachment\", new()\n {\n Role = testRole.Name,\n PolicyArn = \"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\",\n });\n\n var testDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", new()\n {\n RoleArn = testRole.Arn,\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/shield\"\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\"Sid\": \"\",\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"Service\": \"drt.shield.amazonaws.com\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\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, \"testRole\", \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\t_, err = iam.NewRolePolicyAttachment(ctx, \"testRolePolicyAttachment\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tRole: testRole.Name,\n\t\t\tPolicyArn: pulumi.String(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewDrtAccessRoleArnAssociation(ctx, \"testDrtAccessRoleArnAssociation\", \u0026shield.DrtAccessRoleArnAssociationArgs{\n\t\t\tRoleArn: testRole.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociation;\nimport com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs;\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 .assumeRolePolicy(serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"\"),\n jsonProperty(\"Effect\", \"Allow\"),\n jsonProperty(\"Principal\", jsonObject(\n jsonProperty(\"Service\", \"drt.shield.amazonaws.com\")\n )),\n jsonProperty(\"Action\", \"sts:AssumeRole\")\n )))\n )))\n .build());\n\n var testRolePolicyAttachment = new RolePolicyAttachment(\"testRolePolicyAttachment\", RolePolicyAttachmentArgs.builder() \n .role(testRole.name())\n .policyArn(\"arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\")\n .build());\n\n var testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation(\"testDrtAccessRoleArnAssociation\", DrtAccessRoleArnAssociationArgs.builder() \n .roleArn(testRole.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testRole:\n type: aws:iam:Role\n properties:\n assumeRolePolicy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid:\n Effect: Allow\n Principal:\n Service: drt.shield.amazonaws.com\n Action: sts:AssumeRole\n testRolePolicyAttachment:\n type: aws:iam:RolePolicyAttachment\n properties:\n role: ${testRole.name}\n policyArn: arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy\n testDrtAccessRoleArnAssociation:\n type: aws:shield:DrtAccessRoleArnAssociation\n properties:\n roleArn: ${testRole.arn}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "roleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.\n" + }, + "timeouts": { + "$ref": "#/types/aws:shield/DrtAccessRoleArnAssociationTimeouts:DrtAccessRoleArnAssociationTimeouts" + } + }, + "required": [ + "roleArn" + ], + "inputProperties": { + "roleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.\n" + }, + "timeouts": { + "$ref": "#/types/aws:shield/DrtAccessRoleArnAssociationTimeouts:DrtAccessRoleArnAssociationTimeouts" + } + }, + "requiredInputs": [ + "roleArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DrtAccessRoleArnAssociation resources.\n", + "properties": { + "roleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role.\n" + }, + "timeouts": { + "$ref": "#/types/aws:shield/DrtAccessRoleArnAssociationTimeouts:DrtAccessRoleArnAssociationTimeouts" + } + }, + "type": "object" + } + }, "aws:shield/protection:Protection": { "description": "Enables AWS Shield Advanced for a specific AWS resource.\nThe resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create protection\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst available = aws.getAvailabilityZones({});\nconst currentRegion = aws.getRegion({});\nconst currentCallerIdentity = aws.getCallerIdentity({});\nconst exampleEip = new aws.ec2.Eip(\"exampleEip\", {domain: \"vpc\"});\nconst exampleProtection = new aws.shield.Protection(\"exampleProtection\", {\n resourceArn: pulumi.all([currentRegion, currentCallerIdentity, exampleEip.id]).apply(([currentRegion, currentCallerIdentity, id]) =\u003e `arn:aws:ec2:${currentRegion.name}:${currentCallerIdentity.accountId}:eip-allocation/${id}`),\n tags: {\n Environment: \"Dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\navailable = aws.get_availability_zones()\ncurrent_region = aws.get_region()\ncurrent_caller_identity = aws.get_caller_identity()\nexample_eip = aws.ec2.Eip(\"exampleEip\", domain=\"vpc\")\nexample_protection = aws.shield.Protection(\"exampleProtection\",\n resource_arn=example_eip.id.apply(lambda id: f\"arn:aws:ec2:{current_region.name}:{current_caller_identity.account_id}:eip-allocation/{id}\"),\n tags={\n \"Environment\": \"Dev\",\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 available = Aws.GetAvailabilityZones.Invoke();\n\n var currentRegion = Aws.GetRegion.Invoke();\n\n var currentCallerIdentity = Aws.GetCallerIdentity.Invoke();\n\n var exampleEip = new Aws.Ec2.Eip(\"exampleEip\", new()\n {\n Domain = \"vpc\",\n });\n\n var exampleProtection = new Aws.Shield.Protection(\"exampleProtection\", new()\n {\n ResourceArn = Output.Tuple(currentRegion, currentCallerIdentity, exampleEip.Id).Apply(values =\u003e\n {\n var currentRegion = values.Item1;\n var currentCallerIdentity = values.Item2;\n var id = values.Item3;\n return $\"arn:aws:ec2:{currentRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{currentCallerIdentity.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:eip-allocation/{id}\";\n }),\n Tags = \n {\n { \"Environment\", \"Dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield\"\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 := aws.GetAvailabilityZones(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentRegion, err := aws.GetRegion(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcurrentCallerIdentity, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleEip, err := ec2.NewEip(ctx, \"exampleEip\", \u0026ec2.EipArgs{\n\t\t\tDomain: pulumi.String(\"vpc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = shield.NewProtection(ctx, \"exampleProtection\", \u0026shield.ProtectionArgs{\n\t\t\tResourceArn: exampleEip.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"arn:aws:ec2:%v:%v:eip-allocation/%v\", currentRegion.Name, currentCallerIdentity.AccountId, id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"Dev\"),\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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetAvailabilityZonesArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.Eip;\nimport com.pulumi.aws.ec2.EipArgs;\nimport com.pulumi.aws.shield.Protection;\nimport com.pulumi.aws.shield.ProtectionArgs;\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 available = AwsFunctions.getAvailabilityZones();\n\n final var currentRegion = AwsFunctions.getRegion();\n\n final var currentCallerIdentity = AwsFunctions.getCallerIdentity();\n\n var exampleEip = new Eip(\"exampleEip\", EipArgs.builder() \n .domain(\"vpc\")\n .build());\n\n var exampleProtection = new Protection(\"exampleProtection\", ProtectionArgs.builder() \n .resourceArn(exampleEip.id().applyValue(id -\u003e String.format(\"arn:aws:ec2:%s:%s:eip-allocation/%s\", currentRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),currentCallerIdentity.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()),id)))\n .tags(Map.of(\"Environment\", \"Dev\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleEip:\n type: aws:ec2:Eip\n properties:\n domain: vpc\n exampleProtection:\n type: aws:shield:Protection\n properties:\n resourceArn: arn:aws:ec2:${currentRegion.name}:${currentCallerIdentity.accountId}:eip-allocation/${exampleEip.id}\n tags:\n Environment: Dev\nvariables:\n available:\n fn::invoke:\n Function: aws:getAvailabilityZones\n Arguments: {}\n currentRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n currentCallerIdentity:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import Shield protection resources using specifying their ID. For example:\n\n```sh\n $ pulumi import aws:shield/protection:Protection example ff9592dc-22f3-4e88-afa1-7b29fde9669a\n```\n ", "properties": { @@ -291616,6 +292056,10 @@ "type": "string", "description": "A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs.\n" }, + "syncCompliance": { + "type": "string", + "description": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL`.\n" + }, "targets": { "type": "array", "items": { @@ -291691,6 +292135,10 @@ "type": "string", "description": "A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs.\n" }, + "syncCompliance": { + "type": "string", + "description": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL`.\n" + }, "targets": { "type": "array", "items": { @@ -291768,6 +292216,10 @@ "type": "string", "description": "A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs.\n" }, + "syncCompliance": { + "type": "string", + "description": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL`.\n" + }, "targets": { "type": "array", "items": { @@ -299240,6 +299692,155 @@ "type": "object" } }, + "aws:verifiedaccess/trustProvider:TrustProvider": { + "description": "Resource for managing a Verified Access Trust Provider.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.verifiedaccess.TrustProvider(\"example\", {\n policyReferenceName: \"example\",\n trustProviderType: \"user\",\n userTrustProviderType: \"iam-identity-center\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedaccess.TrustProvider(\"example\",\n policy_reference_name=\"example\",\n trust_provider_type=\"user\",\n user_trust_provider_type=\"iam-identity-center\")\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.VerifiedAccess.TrustProvider(\"example\", new()\n {\n PolicyReferenceName = \"example\",\n TrustProviderType = \"user\",\n UserTrustProviderType = \"iam-identity-center\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess\"\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 := verifiedaccess.NewTrustProvider(ctx, \"example\", \u0026verifiedaccess.TrustProviderArgs{\n\t\t\tPolicyReferenceName: pulumi.String(\"example\"),\n\t\t\tTrustProviderType: pulumi.String(\"user\"),\n\t\t\tUserTrustProviderType: pulumi.String(\"iam-identity-center\"),\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.verifiedaccess.TrustProvider;\nimport com.pulumi.aws.verifiedaccess.TrustProviderArgs;\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 TrustProvider(\"example\", TrustProviderArgs.builder() \n .policyReferenceName(\"example\")\n .trustProviderType(\"user\")\n .userTrustProviderType(\"iam-identity-center\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedaccess:TrustProvider\n properties:\n policyReferenceName: example\n trustProviderType: user\n userTrustProviderType: iam-identity-center\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nIn TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import {\n\n to = aws_verifiedaccess_trust_provider.example\n\n id = \"vatp-8012925589\" } Using `TODO import`, import Transfer Workflows using the\n\n`id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 ", + "properties": { + "description": { + "type": "string", + "description": "A description for the AWS Verified Access trust provider.\n" + }, + "deviceOptions": { + "$ref": "#/types/aws:verifiedaccess/TrustProviderDeviceOptions:TrustProviderDeviceOptions", + "description": "A block of options for device identity based trust providers.\n" + }, + "deviceTrustProviderType": { + "type": "string", + "description": "The type of device-based trust provider.\n" + }, + "oidcOptions": { + "$ref": "#/types/aws:verifiedaccess/TrustProviderOidcOptions:TrustProviderOidcOptions", + "description": "The OpenID Connect details for an oidc-type, user-identity based trust provider.\n" + }, + "policyReferenceName": { + "type": "string", + "description": "The identifier to be used when working with policy rules.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "trustProviderType": { + "type": "string", + "description": "The type of trust provider can be either user or device-based.\n\nThe following arguments are optional:\n" + }, + "userTrustProviderType": { + "type": "string", + "description": "The type of user-based trust provider.\n" + } + }, + "required": [ + "policyReferenceName", + "tagsAll", + "trustProviderType" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the AWS Verified Access trust provider.\n" + }, + "deviceOptions": { + "$ref": "#/types/aws:verifiedaccess/TrustProviderDeviceOptions:TrustProviderDeviceOptions", + "description": "A block of options for device identity based trust providers.\n", + "willReplaceOnChanges": true + }, + "deviceTrustProviderType": { + "type": "string", + "description": "The type of device-based trust provider.\n", + "willReplaceOnChanges": true + }, + "oidcOptions": { + "$ref": "#/types/aws:verifiedaccess/TrustProviderOidcOptions:TrustProviderOidcOptions", + "description": "The OpenID Connect details for an oidc-type, user-identity based trust provider.\n" + }, + "policyReferenceName": { + "type": "string", + "description": "The identifier to be used when working with policy rules.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "trustProviderType": { + "type": "string", + "description": "The type of trust provider can be either user or device-based.\n\nThe following arguments are optional:\n", + "willReplaceOnChanges": true + }, + "userTrustProviderType": { + "type": "string", + "description": "The type of user-based trust provider.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "policyReferenceName", + "trustProviderType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TrustProvider resources.\n", + "properties": { + "description": { + "type": "string", + "description": "A description for the AWS Verified Access trust provider.\n" + }, + "deviceOptions": { + "$ref": "#/types/aws:verifiedaccess/TrustProviderDeviceOptions:TrustProviderDeviceOptions", + "description": "A block of options for device identity based trust providers.\n", + "willReplaceOnChanges": true + }, + "deviceTrustProviderType": { + "type": "string", + "description": "The type of device-based trust provider.\n", + "willReplaceOnChanges": true + }, + "oidcOptions": { + "$ref": "#/types/aws:verifiedaccess/TrustProviderOidcOptions:TrustProviderOidcOptions", + "description": "The OpenID Connect details for an oidc-type, user-identity based trust provider.\n" + }, + "policyReferenceName": { + "type": "string", + "description": "The identifier to be used when working with policy rules.\n", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "trustProviderType": { + "type": "string", + "description": "The type of trust provider can be either user or device-based.\n\nThe following arguments are optional:\n", + "willReplaceOnChanges": true + }, + "userTrustProviderType": { + "type": "string", + "description": "The type of user-based trust provider.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule": { "description": "Manages an outbound (egress) rule for a security group.\n\nWhen specifying an outbound rule for your security group in a VPC, the configuration must include a destination for the traffic.\n\n\u003e **NOTE on Security Groups and Security Group Rules:** this provider currently provides a Security Group resource with `ingress` and `egress` rules defined in-line and a Security Group Rule resource which manages one or more `ingress` or\n`egress` rules. Both of these resource were added before AWS assigned a [security group rule unique ID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html), and they do not work well in all scenarios using the`description` and `tags` attributes, which rely on the unique ID.\nThe `aws.vpc.SecurityGroupEgressRule` resource has been added to address these limitations and should be used for all new security group rules.\nYou should not use the `aws.vpc.SecurityGroupEgressRule` resource in conjunction with an `aws.ec2.SecurityGroup` resource with in-line rules or with `aws.ec2.SecurityGroupRule` resources defined for the same Security Group, as rule conflicts may occur and rules will be overwritten.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.vpc.SecurityGroupEgressRule(\"example\", {\n securityGroupId: aws_security_group.example.id,\n cidrIpv4: \"10.0.0.0/8\",\n fromPort: 80,\n ipProtocol: \"tcp\",\n toPort: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.vpc.SecurityGroupEgressRule(\"example\",\n security_group_id=aws_security_group[\"example\"][\"id\"],\n cidr_ipv4=\"10.0.0.0/8\",\n from_port=80,\n ip_protocol=\"tcp\",\n to_port=80)\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.Vpc.SecurityGroupEgressRule(\"example\", new()\n {\n SecurityGroupId = aws_security_group.Example.Id,\n CidrIpv4 = \"10.0.0.0/8\",\n FromPort = 80,\n IpProtocol = \"tcp\",\n ToPort = 80,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/vpc\"\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 := vpc.NewSecurityGroupEgressRule(ctx, \"example\", \u0026vpc.SecurityGroupEgressRuleArgs{\n\t\t\tSecurityGroupId: pulumi.Any(aws_security_group.Example.Id),\n\t\t\tCidrIpv4: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tFromPort: pulumi.Int(80),\n\t\t\tIpProtocol: pulumi.String(\"tcp\"),\n\t\t\tToPort: pulumi.Int(80),\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.vpc.SecurityGroupEgressRule;\nimport com.pulumi.aws.vpc.SecurityGroupEgressRuleArgs;\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 SecurityGroupEgressRule(\"example\", SecurityGroupEgressRuleArgs.builder() \n .securityGroupId(aws_security_group.example().id())\n .cidrIpv4(\"10.0.0.0/8\")\n .fromPort(80)\n .ipProtocol(\"tcp\")\n .toPort(80)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:vpc:SecurityGroupEgressRule\n properties:\n securityGroupId: ${aws_security_group.example.id}\n cidrIpv4: 10.0.0.0/8\n fromPort: 80\n ipProtocol: tcp\n toPort: 80\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsing `pulumi import`, import security group egress rules using the `security_group_rule_id`. For example:\n\n```sh\n $ pulumi import aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule example sgr-02108b27edd666983\n```\n ", "properties": { @@ -305917,6 +306518,10 @@ "type": "string", "description": "Date and time when the API Key was created.\n" }, + "customerId": { + "type": "string", + "description": "Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace.\n" + }, "description": { "type": "string", "description": "Description of the API Key.\n" @@ -305953,6 +306558,7 @@ "type": "object", "required": [ "createdDate", + "customerId", "description", "enabled", "id", @@ -310393,6 +310999,106 @@ ] } }, + "aws:cognito/getIdentityPool:getIdentityPool": { + "description": "Data source for managing an AWS Cognito Identity Pool.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.cognito.getIdentityPool({\n identityPoolName: \"test pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.cognito.get_identity_pool(identity_pool_name=\"test pool\")\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.Cognito.GetIdentityPool.Invoke(new()\n {\n IdentityPoolName = \"test pool\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupIdentityPool(ctx, \u0026cognito.LookupIdentityPoolArgs{\n\t\t\tIdentityPoolName: \"test pool\",\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.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs;\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 = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder()\n .identityPoolName(\"test pool\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:cognito:getIdentityPool\n Arguments:\n identityPoolName: test pool\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getIdentityPool.\n", + "properties": { + "identityPoolName": { + "type": "string", + "description": "The Cognito Identity Pool name.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assigned to the Identity Pool.\n" + } + }, + "type": "object", + "required": [ + "identityPoolName" + ] + }, + "outputs": { + "description": "A collection of values returned by getIdentityPool.\n", + "properties": { + "allowClassicFlow": { + "type": "boolean", + "description": "Whether the classic / basic authentication flow is enabled.\n" + }, + "allowUnauthenticatedIdentities": { + "type": "boolean", + "description": "Whether the identity pool supports unauthenticated logins or not.\n" + }, + "arn": { + "type": "string", + "description": "ARN of the Pool.\n" + }, + "cognitoIdentityProviders": { + "type": "array", + "items": { + "$ref": "#/types/aws:cognito/getIdentityPoolCognitoIdentityProvider:getIdentityPoolCognitoIdentityProvider" + }, + "description": "An array of Amazon Cognito Identity user pools and their client IDs.\n" + }, + "developerProviderName": { + "type": "string", + "description": "The \"domain\" by which Cognito will refer to your users.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "identityPoolName": { + "type": "string" + }, + "openidConnectProviderArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of OpendID Connect provider ARNs.\n" + }, + "samlProviderArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of Amazon Resource Names (ARNs) of the SAML provider for your identity.\n" + }, + "supportedLoginProviders": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-Value pairs mapping provider names to provider app IDs.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assigned to the Identity Pool.\n" + } + }, + "type": "object", + "required": [ + "allowClassicFlow", + "allowUnauthenticatedIdentities", + "arn", + "cognitoIdentityProviders", + "developerProviderName", + "identityPoolName", + "openidConnectProviderArns", + "samlProviderArns", + "supportedLoginProviders", + "tags", + "id" + ] + } + }, "aws:cognito/getUserPoolClient:getUserPoolClient": { "description": "Provides a Cognito User Pool Client resource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst client = aws.cognito.getUserPoolClient({\n clientId: \"38fjsnc484p94kpqsnet7mpld0\",\n userPoolId: \"us-west-2_aaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nclient = aws.cognito.get_user_pool_client(client_id=\"38fjsnc484p94kpqsnet7mpld0\",\n user_pool_id=\"us-west-2_aaaaaaaaa\")\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 client = Aws.Cognito.GetUserPoolClient.Invoke(new()\n {\n ClientId = \"38fjsnc484p94kpqsnet7mpld0\",\n UserPoolId = \"us-west-2_aaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito\"\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 := cognito.LookupUserPoolClient(ctx, \u0026cognito.LookupUserPoolClientArgs{\n\t\t\tClientId: \"38fjsnc484p94kpqsnet7mpld0\",\n\t\t\tUserPoolId: \"us-west-2_aaaaaaaaa\",\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.cognito.CognitoFunctions;\nimport com.pulumi.aws.cognito.inputs.GetUserPoolClientArgs;\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 client = CognitoFunctions.getUserPoolClient(GetUserPoolClientArgs.builder()\n .clientId(\"38fjsnc484p94kpqsnet7mpld0\")\n .userPoolId(\"us-west-2_aaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n client:\n fn::invoke:\n Function: aws:cognito:getUserPoolClient\n Arguments:\n clientId: 38fjsnc484p94kpqsnet7mpld0\n userPoolId: us-west-2_aaaaaaaaa\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -324553,6 +325259,13 @@ "type": "string", "description": "The file system deployment type.\n" }, + "diskIopsConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:fsx/getWindowsFileSystemDiskIopsConfiguration:getWindowsFileSystemDiskIopsConfiguration" + }, + "description": "The SSD IOPS configuration for the file system.\n" + }, "dnsName": { "type": "string", "description": "DNS name for the file system (e.g. `fs-12345678.corp.example.com`).\n" @@ -324638,6 +325351,7 @@ "copyTagsToBackups", "dailyAutomaticBackupStartTime", "deploymentType", + "diskIopsConfigurations", "dnsName", "id", "kmsKeyId", @@ -326305,13 +327019,13 @@ } }, "aws:iam/getSessionContext:getSessionContext": { - "description": "This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuer_arn`.\n\nFor some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getSessionContext({\n arn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_session_context(arn=\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\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.Iam.GetSessionContext.Invoke(new()\n {\n Arn = \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\n```\n{{% /example %}}\n{{% example %}}\n### Find the Provider's Source Role\n\nCombined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_session_context(arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/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\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: ${current.arn}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuer_arn`.\n\nFor some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getSessionContext({\n arn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_session_context(arn=\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\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.Iam.GetSessionContext.Invoke(new()\n {\n Arn = \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: \"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\",\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.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(\"arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes\n```\n{{% /example %}}\n{{% example %}}\n### Find the TODO Runner's Source Role\n\nCombined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = current.then(current =\u003e aws.iam.getSessionContext({\n arn: current.arn,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.iam.get_session_context(arn=current.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = Aws.Iam.GetSessionContext.Invoke(new()\n {\n Arn = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/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\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.GetSessionContext(ctx, \u0026iam.GetSessionContextArgs{\n\t\t\tArn: current.Arn,\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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetSessionContextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder()\n .arn(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n example:\n fn::invoke:\n Function: aws:iam:getSessionContext\n Arguments:\n arn: ${current.arn}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getSessionContext.\n", "properties": { "arn": { "type": "string", - "description": "ARN for an assumed role.\n\n\u003e If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist.\n" + "description": "ARN for an assumed role.\n\n\u003e If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist.\n" } }, "type": "object", @@ -326551,11 +327265,16 @@ "properties": { "alternateIdentifier": { "$ref": "#/types/aws:identitystore/getGroupAlternateIdentifier:getGroupAlternateIdentifier", - "description": "A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below.\n" + "description": "A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below.\n" + }, + "filter": { + "$ref": "#/types/aws:identitystore/getGroupFilter:getGroupFilter", + "description": "Configuration block for filtering by a unique attribute of the group. Detailed below.\n", + "deprecationMessage": "Use the alternate_identifier attribute instead." }, "groupId": { "type": "string", - "description": "The identifier for a group in the Identity Store.\n\n\u003e Exactly one of the above arguments must be provided.\n" + "description": "The identifier for a group in the Identity Store.\n\n\u003e Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility.\n" }, "identityStoreId": { "type": "string", @@ -326588,6 +327307,10 @@ }, "description": "List of identifiers issued to this resource by an external identity provider.\n" }, + "filter": { + "$ref": "#/types/aws:identitystore/getGroupFilter:getGroupFilter", + "deprecationMessage": "Use the alternate_identifier attribute instead." + }, "groupId": { "type": "string" }, @@ -326617,7 +327340,12 @@ "properties": { "alternateIdentifier": { "$ref": "#/types/aws:identitystore/getUserAlternateIdentifier:getUserAlternateIdentifier", - "description": "A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below.\n" + "description": "A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below.\n" + }, + "filter": { + "$ref": "#/types/aws:identitystore/getUserFilter:getUserFilter", + "description": "Configuration block for filtering by a unique attribute of the user. Detailed below.\n", + "deprecationMessage": "Use the alternate_identifier attribute instead." }, "identityStoreId": { "type": "string", @@ -326625,7 +327353,7 @@ }, "userId": { "type": "string", - "description": "The identifier for a user in the Identity Store.\n\n\u003e Exactly one of the above arguments must be provided.\n" + "description": "The identifier for a user in the Identity Store.\n\n\u003e Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility.\n" } }, "type": "object", @@ -326664,6 +327392,10 @@ }, "description": "List of identifiers issued to this resource by an external identity provider.\n" }, + "filter": { + "$ref": "#/types/aws:identitystore/getUserFilter:getUserFilter", + "deprecationMessage": "Use the alternate_identifier attribute instead." + }, "id": { "type": "string", "description": "The provider-assigned unique ID for this managed resource.\n" @@ -328228,7 +328960,7 @@ } }, "aws:index/getDefaultTags:getDefaultTags": { - "description": "Use this data source to get the default tags configured on the provider.\n\nWith this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getDefaultTags({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_default_tags()\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.GetDefaultTags.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetDefaultTags(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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetDefaultTagsArgs;\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 = AwsFunctions.getDefaultTags();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getDefaultTags\n Arguments: {}\n```\n{{% /example %}}\n{{% example %}}\n### Dynamically Apply Default Tags to Auto Scaling Group\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.GetDefaultTagsArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\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 exampleDefaultTags = AwsFunctions.getDefaultTags();\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .dynamic(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: aws:autoscaling:Group\n properties:\n # ...\n dynamic:\n - forEach: ${exampleDefaultTags.tags}\n content:\n - key: ${tag.key}\n value: ${tag.value}\n propagateAtLaunch: true\nvariables:\n exampleDefaultTags:\n fn::invoke:\n Function: aws:getDefaultTags\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to get the default tags configured on the provider.\n\nWith this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.getDefaultTags({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.get_default_tags()\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.GetDefaultTags.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := aws.GetDefaultTags(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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetDefaultTagsArgs;\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 = AwsFunctions.getDefaultTags();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:getDefaultTags\n Arguments: {}\n```\n{{% /example %}}\n{{% example %}}\n### Dynamically Apply Default Tags to Auto Scaling Group\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.GetDefaultTagsArgs;\nimport com.pulumi.aws.autoscaling.Group;\nimport com.pulumi.aws.autoscaling.GroupArgs;\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 exampleDefaultTags = AwsFunctions.getDefaultTags();\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .dynamic(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: aws:autoscaling:Group\n properties:\n # ...\n dynamic:\n - forEach: ${exampleDefaultTags.tags}\n content:\n - key: ${tag.key}\n value: ${tag.value}\n propagateAtLaunch: true\nvariables:\n exampleDefaultTags:\n fn::invoke:\n Function: aws:getDefaultTags\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDefaultTags.\n", "properties": { @@ -330538,7 +331270,7 @@ "properties": { "functionName": { "type": "string", - "description": "he name (or ARN) of the Lambda function.\n" + "description": "The name (or ARN) of the Lambda function.\n" }, "qualifier": { "type": "string", @@ -335087,6 +335819,13 @@ }, "description": "Domain snapshot related options.\n" }, + "softwareUpdateOptions": { + "type": "array", + "items": { + "$ref": "#/types/aws:opensearch/getDomainSoftwareUpdateOption:getDomainSoftwareUpdateOption" + }, + "description": "Software update options for the domain\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -335125,6 +335864,7 @@ "nodeToNodeEncryptions", "processing", "snapshotOptions", + "softwareUpdateOptions", "tags", "vpcOptions", "id" @@ -340984,6 +341724,10 @@ "type": "string", "description": "Limits results to object keys with this prefix (Default: none)\n" }, + "requestPayer": { + "type": "string", + "description": "Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`.\n" + }, "startAfter": { "type": "string", "description": "Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order)\n" @@ -341040,6 +341784,13 @@ "prefix": { "type": "string" }, + "requestCharged": { + "type": "string", + "description": "If present, indicates that the requester was successfully charged for the request.\n" + }, + "requestPayer": { + "type": "string" + }, "startAfter": { "type": "string" } @@ -341050,6 +341801,7 @@ "commonPrefixes", "keys", "owners", + "requestCharged", "id" ] } diff --git a/provider/go.mod b/provider/go.mod index 5d496447cad..e785df85c92 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -4,8 +4,8 @@ go 1.21 require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 - github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.34 - github.com/hashicorp/terraform-plugin-sdk/v2 v2.28.0 + github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35 + github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 github.com/mitchellh/go-homedir v1.1.0 github.com/pulumi/pulumi-terraform-bridge/pf v0.15.2 @@ -17,7 +17,7 @@ require ( ) replace ( - github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e github.com/hashicorp/terraform-provider-aws => ../upstream github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 ) @@ -56,16 +56,16 @@ require ( github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect - github.com/YakDriver/regexache v0.7.0 // indirect + github.com/YakDriver/regexache v0.23.0 // indirect github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect - github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go v1.44.334 // indirect + github.com/aws/aws-sdk-go v1.45.6 // indirect github.com/aws/aws-sdk-go-v2 v1.21.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13 // indirect github.com/aws/aws-sdk-go-v2/config v1.18.33 // indirect @@ -74,46 +74,46 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.3.39 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4 // indirect github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/account v1.11.5 // indirect github.com/aws/aws-sdk-go-v2/service/acm v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/appconfig v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.0 // indirect github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.5 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5 // indirect github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.5.5 // indirect github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.5 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.2.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.115.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.117.0 // indirect github.com/aws/aws-sdk-go-v2/service/emrserverless v1.10.5 // indirect github.com/aws/aws-sdk-go-v2/service/finspace v1.12.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.5 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.22.5 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.17.6 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.2 // indirect github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.6 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.4 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.5 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.5.5 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.22.5 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.42.5 // indirect github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.5 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.39.5 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.5 // indirect github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.5 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/oam v1.2.5 // indirect github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.4.5 // indirect @@ -121,12 +121,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/pricing v1.21.6 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.16.5 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.9.5 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.54.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.3.5 // indirect github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.5 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.38.5 // indirect github.com/aws/aws-sdk-go-v2/service/s3control v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.2.5 // indirect github.com/aws/aws-sdk-go-v2/service/securitylake v1.7.0 // indirect @@ -142,8 +142,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.18.5 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.5 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.1 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.1.7 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.29.5 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.30.0 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.17.5 // indirect github.com/aws/smithy-go v1.14.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect @@ -182,7 +182,7 @@ require ( github.com/google/go-querystring v1.1.0 // indirect github.com/google/s2a-go v0.1.4 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.3.1 // indirect github.com/google/wire v0.5.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.11.0 // indirect @@ -190,7 +190,7 @@ require ( github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 // indirect github.com/hashicorp/aws-sdk-go-base v1.1.0 // indirect - github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35 // indirect + github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36 // indirect github.com/hashicorp/awspolicyequivalence v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect @@ -200,7 +200,7 @@ require ( github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.10 // indirect + github.com/hashicorp/go-plugin v1.5.1 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect @@ -211,20 +211,20 @@ require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/hashicorp/hc-install v0.5.2 // indirect + github.com/hashicorp/hc-install v0.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.17.0 // indirect + github.com/hashicorp/hcl/v2 v2.18.0 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.18.1 // indirect + github.com/hashicorp/terraform-exec v0.19.0 // indirect github.com/hashicorp/terraform-json v0.17.1 // indirect - github.com/hashicorp/terraform-plugin-framework v1.3.5 // indirect + github.com/hashicorp/terraform-plugin-framework v1.4.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect - github.com/hashicorp/terraform-plugin-framework-validators v0.11.0 // indirect - github.com/hashicorp/terraform-plugin-go v0.18.0 // indirect + github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.19.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-mux v0.11.2 // indirect - github.com/hashicorp/terraform-plugin-testing v1.4.0 // indirect + github.com/hashicorp/terraform-plugin-mux v0.12.0 // indirect + github.com/hashicorp/terraform-plugin-testing v1.5.1 // indirect github.com/hashicorp/terraform-registry-address v0.2.2 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/vault/api v1.8.2 // indirect @@ -233,7 +233,7 @@ require ( github.com/huandu/xstrings v1.4.0 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect - github.com/imdario/mergo v0.3.13 // indirect + github.com/imdario/mergo v0.3.15 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect @@ -307,24 +307,24 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.13.2 // indirect + github.com/zclconf/go-cty v1.14.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/otel v1.16.0 // indirect go.opentelemetry.io/otel/trace v1.16.0 // indirect go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.27.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.12.0 // indirect - golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.14.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/term v0.11.0 // indirect - golang.org/x/text v0.12.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/term v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.12.0 // indirect + golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/provider/go.sum b/provider/go.sum index aef36a6b351..8a12e47ecbd 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -747,8 +747,6 @@ github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61 github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= @@ -759,9 +757,8 @@ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:H github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/YakDriver/regexache v0.7.0 h1:Mo0i2uUsRVbK+waHJ4+QPh/l7WknyQzCgAlMViSKa8w= -github.com/YakDriver/regexache v0.7.0/go.mod h1:mD8oVCndzUi1Qig4J/wY6aF5SOdqyyGopfTjP8ePBP8= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/YakDriver/regexache v0.23.0 h1:kv3j4XKhbx/vqUilSBgizXDUXHvvH1KdYekdmGwz4C4= +github.com/YakDriver/regexache v0.23.0/go.mod h1:K4BZ3MYKAqSFbYWqmbsG+OzYUDyJjnMEr27DJEsVG3U= github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= @@ -785,7 +782,6 @@ github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8V github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -802,8 +798,9 @@ github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFU github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= -github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= @@ -835,8 +832,8 @@ github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.334 h1:h2bdbGb//fez6Sv6PaYv868s9liDeoYM6hYsAqTB4MU= -github.com/aws/aws-sdk-go v1.44.334/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.45.6 h1:Y2isQQBZsnO15dzUQo9YQRThtHgrV200XCH05BRHVJI= +github.com/aws/aws-sdk-go v1.45.6/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.20.1/go.mod h1:NU06lETsFm8fUC6ZjhgDpVBcGZTFQ6XM+LZWZxMI4ac= @@ -868,8 +865,9 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35/go.mod h1:SJC1nEVVva1 github.com/aws/aws-sdk-go-v2/internal/ini v1.3.16/go.mod h1:CYmI+7x03jjJih8kBEEFKRQc40UjUokT0k7GbvrhhTc= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.39 h1:fc0ukRAiP1syoSGZYu+DaE+FulSYhTiJ8WpVu5jElU4= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.39/go.mod h1:WLAW8PT7+JhjZfLSWe7WEJaJu0GNo0cKc2Zyo003RBs= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6 h1:3L8pcjvgaSOs0zzZcMKzxDSkYKEpwJ2dNVDdxm68jAY= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.6/go.mod h1:O7Oc4peGZDEKlddivslfYFvAbgzvl/GH3J8j3JIGBXc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4 h1:6lJvvkQ9HmbHZ4h/IEwclwv2mrTW8Uq1SOB/kXy0mfw= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.4/go.mod h1:1PrKYwxTM+zjpw9Y41KFtoJCQrJ34Z47Y4VgVbfndjo= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.20.5 h1:1w0ELQMC3AptxEFS4A+vJuhyIuC9IoNN2YxNKK5pSYQ= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.20.5/go.mod h1:zwKhX2c7u7XDz2ToVE+qunfyoy9+3AO0rZynN5TwXCc= github.com/aws/aws-sdk-go-v2/service/account v1.11.5 h1:UX7HDdPZwTmrr1zu1j8e9QNINZS2YSJ+DoxhnnPyJY8= @@ -880,8 +878,8 @@ github.com/aws/aws-sdk-go-v2/service/appconfig v1.18.5 h1:3SgSsuDoJ4I0DL+jBG4/2N github.com/aws/aws-sdk-go-v2/service/appconfig v1.18.5/go.mod h1:zk3+CYtLFK+Yo83oc+rARhvajxgM3rmxPRmoFpHTsNw= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.5 h1:nAZnFygNPs3I3LR9AR7rud21ESTiTTHXuLQ4KW4tO+0= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.26.5/go.mod h1:EwlbwoKCPpH81bmlIVk6XD91fh9fF7CKQlp8uxlndXE= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.3.5 h1:zHP6cVTySf0GF0IGflLeYYKCGZ6wT/SJUF8Iv4ZUz+0= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.3.5/go.mod h1:MrKI9BOSn2qulUfYxligb7ZKrYB1FtxjP5kcK3VxFoY= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.0 h1:wDRpDU1x+xSKfezFyMUA96wzwXDVN/TbBKr6EED6Muo= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.4.0/go.mod h1:MrKI9BOSn2qulUfYxligb7ZKrYB1FtxjP5kcK3VxFoY= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.5 h1:u0OiSC//5remFN6t5U9iYPemlKsEQ9qeC9bzF0JaJHo= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.12.5/go.mod h1:Jg/MLglEy39ieHbPCeU5SwPITQRSxqNDPU4S+46U0fg= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5 h1:/rXnxd9VGnTc5fLuSFKkWCy+kDP6CxXAIMvfJQEfx8U= @@ -894,14 +892,14 @@ github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.15.5 h1:b7bDtsqB+8 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.15.5/go.mod h1:+R1M0e1mBGJHBaxTLp82WxxSilNyf1Q+qVLfJR8HZRo= github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.5 h1:skslr/tHJOubH4XYmfmALEGj4DmbcdM2syJjFTcQ16o= github.com/aws/aws-sdk-go-v2/service/comprehend v1.25.5/go.mod h1:8wE8pnkFdF6nX1Hh601TV0xWbnh6WRvcfBxHKUH/1LU= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.26.0 h1:0OCXZ9evtfVe4tF6AStPv9XsaS5JFXp8kS04QjZaaOc= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.26.0/go.mod h1:Gkyue3XuBLYclIqtJeE29geIeDDPqiKbTNIXilHy+34= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.0 h1:ElPIRobusgkavQ1B3Y28zxhEqsFVgcscxEAOoXx2NeI= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.27.0/go.mod h1:Gkyue3XuBLYclIqtJeE29geIeDDPqiKbTNIXilHy+34= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.5 h1:prlnnmX0PYoho7c8HWxxws2yDD0XK2G7W4tR9RaNIVs= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.18.5/go.mod h1:/kl14i35MzBB4oaVlmFVmTvdzTX5LiphIuRLyOJfoRU= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.2.5 h1:g3uG25wRpQTKplIgleFOnWmHF35LlZ1EJ/S1pvdgNL8= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.2.5/go.mod h1:XLn8/EbqX+qGri306t4IPUBi+VmphNcsR+OJRxPlGqg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.115.0 h1:/OcX8Q9qehNdPQInuYifmcsTir62q6ulmZByy/VkoeE= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.115.0/go.mod h1:0FhI2Rzcv5BNM3dNnbcCx2qa2naFZoAidJi11cQgzL0= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.117.0 h1:Yq39vbwQX+Xw+Ubcsg/ElwO+TWAxAIAdrREtpjGnCHw= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.117.0/go.mod h1:0FhI2Rzcv5BNM3dNnbcCx2qa2naFZoAidJi11cQgzL0= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.10.5 h1:hhQPiPD696RlbY56NsMYVnVsS9ySrZc6eYC9yafauPk= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.10.5/go.mod h1:uRIY0k05TXMGGlHeRxDDhWT9oBqcGbbEBN3gqk9Njos= github.com/aws/aws-sdk-go-v2/service/finspace v1.12.0 h1:qFaAEplUoebyUb2m0I3IgPK9hEZYL2zSDIW9lGMdfe4= @@ -914,14 +912,16 @@ github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.5 h1:1Le4qAgyQeFC16PG+Yjkw github.com/aws/aws-sdk-go-v2/service/healthlake v1.17.5/go.mod h1:adcoUzvmADFsiroi4JC+krUZldrWM7qRD65QtFb1Cm8= github.com/aws/aws-sdk-go-v2/service/iam v1.22.5 h1:qGv+oW4uV1T3kbE9uSYEfdZbo38OqxgRxxfStfDr4BU= github.com/aws/aws-sdk-go-v2/service/iam v1.22.5/go.mod h1:8lyPrjQczmx72ac9s82zTjf9xLqs7uuFMG9TVEZ07XU= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.17.6 h1:1+CSnP3TCGEnv6D12IRIPp5pgvbFuc5zzfZCpPjCtDw= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.17.6/go.mod h1:uP4598oNnSTY5AClqIoK6QHQnwz7cuRS8CBkVMXuxOU= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.2 h1:O7WJ9/aC2kKzZ5hF41ZILnO17v6+7mgBpTzeVjPqk+U= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.18.2/go.mod h1:uP4598oNnSTY5AClqIoK6QHQnwz7cuRS8CBkVMXuxOU= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.6 h1:HhLDyWzcq1QAQM9/D6r49CA1NX7mSuE77XruZ/GM0tI= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.16.6/go.mod h1:ZThso1NAB0Pt7ZHiE8QjGxZsdSq3yE3IHTO8DSsIj0Y= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3 h1:4n4KCtv5SUoT5Er5XV41huuzrCqepxlW3SDI9qHQebc= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.3/go.mod h1:gkb2qADY+OHaGLKNTYxMaQNacfeyQpZ4csDTQMeFmcw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10 h1:7LJcuRalaLw+GYQTMGmVUl4opg2HrDZkvn/L3KvIQfw= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14 h1:m0QTSI6pZYJTk5WSKx3fm5cNW/DCicVzULBgU/6IyD0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.10/go.mod h1:Qks+dxK3O+Z2deAhNo6cJ8ls1bam3tUGUAcgxQP1c70= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36 h1:eev2yZX7esGRjqRbnVk1UxMLw4CyVZDpZXRCcy75oQk= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.36/go.mod h1:lGnOkH9NJATw0XEPcAknFBj3zzNTEGRHtSw+CwC1YTg= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35 h1:UKjpIDLVF90RfV88XurdduMoTxPqtGHZMIDYZQM7RO4= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35/go.mod h1:B3dUg0V6eJesUTi+m27NUkj7n8hdDKYUpxj8f4+TqaQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.9/go.mod h1:yQowTpvdZkFVuHrLBXmczat4W+WJKg/PafBZnGBLga0= @@ -931,12 +931,12 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35/go.mod h1:QG github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4 h1:v0jkRigbSD6uOdwcaUQmgEwG1BkPfAPDqaeNt/29ghg= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.4/go.mod h1:LhTyt8J04LL+9cIt7pYJ5lbS/U98ZmXovLOR/4LUsk8= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.4 h1:Z8nFbf7CA6EkECh+fJytql+Wfxh36U/UYl/tE6Khsu0= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.4/go.mod h1:hpwVO3hkEYV1GQuqbF3BBOiH9e0TZ4Z1ExHF+id7uBI= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.5 h1:shAdMINk6R1ibmTWKxfS5cE0S/UXaD79F6hPYAs8QiM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.5.5/go.mod h1:hpwVO3hkEYV1GQuqbF3BBOiH9e0TZ4Z1ExHF+id7uBI= github.com/aws/aws-sdk-go-v2/service/ivschat v1.5.5 h1:K4jLfsb6qc9HMJiM/ZnN8mT/OqwOdphb5sIKfD6FVEo= github.com/aws/aws-sdk-go-v2/service/ivschat v1.5.5/go.mod h1:xHhVCdz3qnP1/7wVdx9fJGKVHcOpZcIu2pAe6aOBe+c= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.5 h1:mjVeyUmOE9wAIc7Uokfy9DNDWPcgMSWwbiXZgoC865E= -github.com/aws/aws-sdk-go-v2/service/kafka v1.22.5/go.mod h1:uXijjFwDzFVyGUwtXqqEPV/SxxLPrh0LqJxe64Csr7E= +github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6 h1:DyJVI9uQB+mO4IuKEE4AloqOvo9XFg7olhZkwWZJ7wc= +github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6/go.mod h1:uXijjFwDzFVyGUwtXqqEPV/SxxLPrh0LqJxe64Csr7E= github.com/aws/aws-sdk-go-v2/service/kendra v1.42.5 h1:Ieo1GoXJ4Dv/zbpsoeHzA2zSMRSJNRGeVBQLia9trBg= github.com/aws/aws-sdk-go-v2/service/kendra v1.42.5/go.mod h1:q/QiSWwiP6iYTbRV5Tng7+x9MTMFxzwawh3uIyFcD+A= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.4.5 h1:Z4qTRZdPJHmd5yGdY/4dL712MF5A/PvtfJS8JFcYrow= @@ -949,8 +949,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.5 h1:vI9ar8zMH9oJ0ywJU184 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.32.5/go.mod h1:BsjYt3w75hHFse6bzZt4Lvzdl2yKESDV6WIOOVOQsUU= github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.5 h1:IFT75uoZ5Ohcpb0sf7NQTF0Tyx8SmfCMz9IQGjyztXQ= github.com/aws/aws-sdk-go-v2/service/lightsail v1.28.5/go.mod h1:nh/y5+FgVxvjrwd2myeB92rKKJVMkxZem3irP3/bT28= -github.com/aws/aws-sdk-go-v2/service/medialive v1.35.0 h1:N1PUKTdG9zb0FEc3c2tYngdx6mkk3blAXYMBsy1dXd0= -github.com/aws/aws-sdk-go-v2/service/medialive v1.35.0/go.mod h1:oBjVE7s8Z2RQtKxCgHavkhkAu0m54h4YCjXivPR/BhQ= +github.com/aws/aws-sdk-go-v2/service/medialive v1.36.0 h1:mRqlEFkUAvz0EIEwXA6Vxz94HiffbRKEI7hhhLislAo= +github.com/aws/aws-sdk-go-v2/service/medialive v1.36.0/go.mod h1:oBjVE7s8Z2RQtKxCgHavkhkAu0m54h4YCjXivPR/BhQ= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.3 h1:lC+4aTyl6yZ59X2Ek0FBg2loD0R048dE/Hnje0tSg3s= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.23.3/go.mod h1:GgF8CYrl3uUOa9NGOKLZUptq5A3hORrAG9rGR6KaHt0= github.com/aws/aws-sdk-go-v2/service/oam v1.2.5 h1:YTtQSRE+Rb4pXTCl+4VKWm+tEttGmTFVmq3uFKr4ZAY= @@ -965,8 +965,8 @@ github.com/aws/aws-sdk-go-v2/service/qldb v1.16.5 h1:mmCoa7WmiISEuCOwNU63Mq9Nnfu github.com/aws/aws-sdk-go-v2/service/qldb v1.16.5/go.mod h1:/IZjlXFU0ksm6rph+YFQJHzLySx6kNNOvRNNHf/2Adg= github.com/aws/aws-sdk-go-v2/service/rbin v1.9.5 h1:1q9FkL4ET0xAlqmfgg7fmTkelSkHR3wQTsWSAu1E1jU= github.com/aws/aws-sdk-go-v2/service/rbin v1.9.5/go.mod h1:edL1v6p099PQSzuByMelJQ3jXa1i59Dk/3NdAwpvcuY= -github.com/aws/aws-sdk-go-v2/service/rds v1.53.0 h1:+PNNWmjp8VeoU6mtRkzPerlhI818uuI4hf/Td8GEjp8= -github.com/aws/aws-sdk-go-v2/service/rds v1.53.0/go.mod h1:UNv1vk1fU1NJefzteykVpVLA88w4WxB05g3vp2kQhYM= +github.com/aws/aws-sdk-go-v2/service/rds v1.54.0 h1:FmExQnV6PXPAwP2DT3nXlWyKtCJ30gCEQIu4MUOuESo= +github.com/aws/aws-sdk-go-v2/service/rds v1.54.0/go.mod h1:UNv1vk1fU1NJefzteykVpVLA88w4WxB05g3vp2kQhYM= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.5 h1:iIRfLBX36lMn7vXdaVF1PZV/jiBXeUpiL2KHkGOjVsc= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.20.5/go.mod h1:q++QEMyKK3FcyuHOuab73F3mtkmP/Xu25VkMSEgqpE0= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.3.5 h1:eoLzO6Wd94zk5vFFzqkPfWah27oEnNw+SyJ19+Mhu0c= @@ -975,8 +975,9 @@ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.5 h1:tfmJZFDrma1cgraLRuE github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.3.5/go.mod h1:vXPkNV5GGPdMjRRNzO45nX3qsNTgB5lP19Tk4Go30xQ= github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.3 h1:aaHlZb06fyEQ3uqEVJiN3hLt8syCzX+tWZiz40S4c0Y= github.com/aws/aws-sdk-go-v2/service/route53domains v1.17.3/go.mod h1:SK+5R1cYgVgSfBGi9T/gPGNIuLInF3eIRYNruia62rg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2 h1:NvzGue25jKnuAsh6yQ+TZ4ResMcnp49AWgWGm2L4b5o= github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= +github.com/aws/aws-sdk-go-v2/service/s3 v1.38.5 h1:A42xdtStObqy7NGvzZKpnyNXvoOmm+FENobZ0/ssHWk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.38.5/go.mod h1:rDGMZA7f4pbmTtPOk5v5UM2lmX6UAbRnMDJeDvnH7AM= github.com/aws/aws-sdk-go-v2/service/s3control v1.33.0 h1:f4qHghGTcns4L4F7u8AHH6pcVLwgtTMNkNZeRJZ5xlA= github.com/aws/aws-sdk-go-v2/service/s3control v1.33.0/go.mod h1:YSdqo9knBVm5H3JVmWDhx9Wts9828nColUJzL3OKXDk= github.com/aws/aws-sdk-go-v2/service/scheduler v1.2.5 h1:AGRPn7Hef59Eb9zfXjf6MGn0xRPpO73dIV8u8pfo5Z8= @@ -1016,10 +1017,10 @@ github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.5 h1:l0lxYW7VgLkYhD0r0WOyB github.com/aws/aws-sdk-go-v2/service/transcribe v1.28.5/go.mod h1:EVrV4Pc8rVQ2YEk0UHpMQz//eR0cZDAa9zb+iUNyh4o= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.1 h1:EzuBm6kVbBJz/gjiFfTkKbZ2TEN0I7lVivnhuY00Niw= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.2.1/go.mod h1:Gms6hFsMoL+YRK+iz4F9Wj+0kD36Ubl6bybgn6LYSWQ= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.1.7 h1:R+DilTfQIqOR95ODE2da9RnQQn+ghS5H7IKNmW9dna0= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.1.7/go.mod h1:oWjSy90mvTKVnVg2PwxA5hKVijL8Jy7A5ZC53zi/pOQ= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.29.5 h1:WE+Y5exd/Jowh2eVl2vmdmAlyyscE3Q7vvkKXMNGKAM= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.29.5/go.mod h1:AVjfc8q87mKUZgiW4NjqJgG1OzcFIO6OHyfkOQSrPSY= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.0 h1:0Y3YrUdOj269PHsmfWRPN6unDyTDWiJan/x0UN5QA00= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.2.0/go.mod h1:oWjSy90mvTKVnVg2PwxA5hKVijL8Jy7A5ZC53zi/pOQ= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.30.0 h1:1GTubIlhB61KhkJAyCU6WrkGWaORev9medal9jaKFoE= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.30.0/go.mod h1:AVjfc8q87mKUZgiW4NjqJgG1OzcFIO6OHyfkOQSrPSY= github.com/aws/aws-sdk-go-v2/service/xray v1.17.5 h1:fJ7KMcuZXBfmK0A8ZfMZIKle0/WuiZwOl+JDpR+LV4I= github.com/aws/aws-sdk-go-v2/service/xray v1.17.5/go.mod h1:aE2t25bCn8YrfL6faz73m5Q/7gKa25HjCoa+z6OQMG4= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= @@ -1051,6 +1052,7 @@ github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= @@ -1058,7 +1060,6 @@ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx2 github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -1105,7 +1106,6 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -1309,9 +1309,9 @@ github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8E github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819 h1:RIB4cRk+lBqKK3Oy0r2gRX4ui7tuhiZq2SuTtTCi0/0= github.com/elazarl/goproxy v0.0.0-20221015165544-a0805db90819/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= @@ -1349,7 +1349,6 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -1377,7 +1376,6 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= @@ -1386,19 +1384,13 @@ github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3 github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-git/go-git/v5 v5.6.1/go.mod h1:mvyoL6Unz0PiTQrGQfSfiLFhBH1c1e84ylC2MDs4ee8= github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -1647,8 +1639,9 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= @@ -1709,10 +1702,10 @@ github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0 h1:IUypt/ github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.21.0/go.mod h1:cdTE6F2pCKQobug+RqRaQp7Kz9hIEqiSvpPmb6E5G1w= 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.34 h1:WH0OOrhZe6wzOnA+ra0ZV0+5BWSElVriWmudH2S2cFw= -github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.34/go.mod h1:cR5oVK+h10mSG4T9eHaBAYfacxUlYI5vNfJuIRMGfMA= -github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35 h1:FLgIkz1RPYkYG62Q+u7M/JtU2tEKPUDMeDH+WtZ04ic= -github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.35/go.mod h1:AQknW73NE5hbAZn/ruNomae0OJUNf5xzsAi6yDndWgs= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35 h1:07rX0OEHNSmD4TXQzHcVnaZJGYXaSaJR4ZhN8/bBRY4= +github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.35/go.mod h1:cR5oVK+h10mSG4T9eHaBAYfacxUlYI5vNfJuIRMGfMA= +github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36 h1:xfEmtc8kXanlT5O9m1xqYXJRgsz5m1uBzeAFcq5wBh4= +github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.36/go.mod h1:AQknW73NE5hbAZn/ruNomae0OJUNf5xzsAi6yDndWgs= github.com/hashicorp/awspolicyequivalence v1.6.0 h1:7aadmkalbc5ewStC6g3rljx1iNvP4QyAhg2KsHx8bU8= github.com/hashicorp/awspolicyequivalence v1.6.0/go.mod h1:9IOaIHx+a7C0NfUNk1A93M7kHd5rJ19aoUx37LZGC14= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= @@ -1761,8 +1754,8 @@ github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9 github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= -github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= +github.com/hashicorp/go-plugin v1.5.1 h1:oGm7cWBaYIp3lJpx1RUEfLWophprE2EV/KUeqBYo+6k= +github.com/hashicorp/go-plugin v1.5.1/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= @@ -1802,15 +1795,14 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hc-install v0.5.0/go.mod h1:JyzMfbzfSBSjoDCRPna1vi/24BEDxFaCPfdHtM5SCdo= -github.com/hashicorp/hc-install v0.5.2 h1:SfwMFnEXVVirpwkDuSF5kymUOhrUxrTq3udEseZdOD0= -github.com/hashicorp/hc-install v0.5.2/go.mod h1:9QISwe6newMWIfEiXpzuu1k9HAGtQYgnSH8H9T8wmoI= +github.com/hashicorp/hc-install v0.6.0 h1:fDHnU7JNFNSQebVKYhHZ0va1bC6SrPQ8fpebsvNr2w4= +github.com/hashicorp/hc-install v0.6.0/go.mod h1:10I912u3nntx9Umo1VAeYPUUuehk0aRQJYpMwbX5wQA= github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= -github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= -github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/hashicorp/hcl/v2 v2.18.0 h1:wYnG7Lt31t2zYkcquwgKo6MWXzRUDIeIVU5naZwHLl8= +github.com/hashicorp/hcl/v2 v2.18.0/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -1824,32 +1816,28 @@ github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79 github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4= -github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= +github.com/hashicorp/terraform-exec v0.19.0 h1:FpqZ6n50Tk95mItTSS9BjeOVUb4eg81SpgVtZNNtFSM= +github.com/hashicorp/terraform-exec v0.19.0/go.mod h1:tbxUpe3JKruE9Cuf65mycSIT8KiNPZ0FkuTE3H4urQg= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk= -github.com/hashicorp/terraform-json v0.17.0/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA= github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= -github.com/hashicorp/terraform-plugin-framework v1.3.5 h1:FJ6s3CVWVAxlhiF/jhy6hzs4AnPHiflsp9KgzTGl1wo= -github.com/hashicorp/terraform-plugin-framework v1.3.5/go.mod h1:2gGDpWiTI0irr9NSTLFAKlTi6KwGti3AoU19rFqU30o= +github.com/hashicorp/terraform-plugin-framework v1.4.0 h1:WKbtCRtNrjsh10eA7NZvC/Qyr7zp77j+D21aDO5th9c= +github.com/hashicorp/terraform-plugin-framework v1.4.0/go.mod h1:XC0hPcQbBvlbxwmjxuV/8sn8SbZRg4XwGMs22f+kqV0= 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-validators v0.11.0 h1:DKb1bX7/EPZUTW6F5zdwJzS/EZ/ycVD6JAW5RYOj4f8= -github.com/hashicorp/terraform-plugin-framework-validators v0.11.0/go.mod h1:dzxOiHh7O9CAwc6p8N4mR1H++LtRkl+u+21YNiBVNno= -github.com/hashicorp/terraform-plugin-go v0.16.0/go.mod h1:4sn8bFuDbt+2+Yztt35IbOrvZc0zyEi87gJzsTgCES8= -github.com/hashicorp/terraform-plugin-go v0.18.0 h1:IwTkOS9cOW1ehLd/rG0y+u/TGLK9y6fGoBjXVUquzpE= -github.com/hashicorp/terraform-plugin-go v0.18.0/go.mod h1:l7VK+2u5Kf2y+A+742GX0ouLut3gttudmvMgN0PA74Y= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= +github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= +github.com/hashicorp/terraform-plugin-go v0.19.0 h1:BuZx/6Cp+lkmiG0cOBk6Zps0Cb2tmqQpDM3iAtnhDQU= +github.com/hashicorp/terraform-plugin-go v0.19.0/go.mod h1:EhRSkEPNoylLQntYsk5KrDHTZJh9HQoumZXbOGOXmec= github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= -github.com/hashicorp/terraform-plugin-mux v0.11.2 h1:XMkAmWQN+6F+l4jwNeqdPom/8Vly6ZNDxHoKjiRHx5c= -github.com/hashicorp/terraform-plugin-mux v0.11.2/go.mod h1:qjoF/pI49rILSNQzKIuDtU+ZX9mpQD0B8YNE1GceLPc= +github.com/hashicorp/terraform-plugin-mux v0.12.0 h1:TJlmeslQ11WlQtIFAfth0vXx+gSNgvMEng2Rn9z3WZY= +github.com/hashicorp/terraform-plugin-mux v0.12.0/go.mod h1:8MR0AgmV+Q03DIjyrAKxXyYlq2EUnYBQP8gxAAA0zeM= github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= -github.com/hashicorp/terraform-plugin-testing v1.4.0 h1:DVIXxw7VHZvnwWVik4HzhpC2yytaJ5FpiHxz5debKmE= -github.com/hashicorp/terraform-plugin-testing v1.4.0/go.mod h1:b7Bha24iGrbZQjT+ZE8m9crck1YjdVOZ8mfGCQ19OxA= -github.com/hashicorp/terraform-registry-address v0.2.1/go.mod h1:BSE9fIFzp0qWsJUUyGquo4ldV9k2n+psif6NYkBRS3Y= +github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c= +github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0= github.com/hashicorp/terraform-registry-address v0.2.2 h1:lPQBg403El8PPicg/qONZJDC6YlgCVbWDtNmmZKtBno= github.com/hashicorp/terraform-registry-address v0.2.2/go.mod h1:LtwNbCihUoUZ3RYriyS2wF/lGPB6gF9ICLRtuDk7hSo= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= @@ -1897,8 +1885,8 @@ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= +github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -1949,7 +1937,11 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -1985,7 +1977,6 @@ github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaR github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= @@ -2388,8 +2379,8 @@ github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQK github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d h1:DfAVBLi3G5hXbqiWs9wIGYZXF1VZu6+9kbl2CQO6cOE= -github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d/go.mod h1:cUEP4ly/nxlHy5HzD6YRrHydtlheGvGRJDhiWqqVik4= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e h1:blSirnXqvm8JXLxwxelsBroUNRhOHakDO7cgJUYTdpQ= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e/go.mod h1:qH/34G25Ugdj5FcM95cSoXzUgIbgfhVLXCcEcYaMwq8= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= @@ -2399,6 +2390,7 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -2461,7 +2453,7 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -2568,16 +2560,13 @@ github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6Ac github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= @@ -2609,11 +2598,11 @@ github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLE github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.14.0 h1:/Xrd39K7DXbHzlisFP9c4pHao4yyf+/Ug9LEz+Y/yhc= +github.com/zclconf/go-cty v1.14.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= @@ -2730,7 +2719,6 @@ golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= @@ -2766,20 +2754,17 @@ golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= -golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2795,8 +2780,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb h1:mIKbk8weKhSeLH2GmUTrvx8CjkyJmnU1wFmg59CUjFA= -golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 h1:m64FZMko/V45gv0bNmrNYoDEq8U5YUhetc9cBWKS1TQ= +golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63/go.mod h1:0v4NqG35kSWCMzLaMeX+IQrlSnVE/bqGSyC2cz/9Le8= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -2841,7 +2826,6 @@ golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2900,7 +2884,6 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= @@ -2939,7 +2922,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3101,7 +3085,6 @@ golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -3157,9 +3140,9 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3174,9 +3157,9 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= -golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3193,9 +3176,9 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3304,8 +3287,8 @@ golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= -golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 h1:Vve/L0v7CXXuxUmaMGIEK/dEeq7uiqb5qBgQrZzIE7E= +golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -3550,11 +3533,16 @@ google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVix google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3608,7 +3596,6 @@ google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsA google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= @@ -3627,6 +3614,7 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= @@ -3677,7 +3665,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= diff --git a/provider/resources.go b/provider/resources.go index 5056f694326..0031bf7ac40 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -226,6 +226,7 @@ const ( timestreamWriteMod = "TimestreamWrite" // Timestream Write transcribeMod = "Transcribe" // Transcribe transferMod = "Transfer" // Transfer Service + verifiedaccessMod = "VerifiedAccess" // Verified Access vpclatticeMod = "VpcLattice" // VPC Lattice wafMod = "Waf" // Web Application Firewall (WAF) wafV2Mod = "WafV2" // Web Application Firewall V2 (WAFV2) @@ -427,6 +428,7 @@ var moduleMap = map[string]string{ "timestreamwrite": timestreamWriteMod, "transcribe": transcribeMod, "transfer": transferMod, + "verifiedaccess": verifiedaccessMod, "vpclattice": vpclatticeMod, "waf": wafMod, "wafv2": wafV2Mod, diff --git a/sdk/dotnet/Acmpca/CertificateAuthority.cs b/sdk/dotnet/Acmpca/CertificateAuthority.cs index 9dfd2d3a663..4c1447e67ab 100644 --- a/sdk/dotnet/Acmpca/CertificateAuthority.cs +++ b/sdk/dotnet/Acmpca/CertificateAuthority.cs @@ -77,7 +77,10 @@ namespace Pulumi.Aws.Acmpca /// /// return await Deployment.RunAsync(() => /// { - /// var exampleBucketV2 = new Aws.S3.BucketV2("exampleBucketV2"); + /// var exampleBucketV2 = new Aws.S3.BucketV2("exampleBucketV2", new() + /// { + /// ForceDestroy = true, + /// }); /// /// var acmpcaBucketAccess = Aws.Iam.GetPolicyDocument.Invoke(new() /// { @@ -137,6 +140,7 @@ namespace Pulumi.Aws.Acmpca /// Enabled = true, /// ExpirationInDays = 7, /// S3BucketName = exampleBucketV2.Id, + /// S3ObjectAcl = "BUCKET_OWNER_FULL_CONTROL", /// }, /// }, /// }, new CustomResourceOptions diff --git a/sdk/dotnet/ApiGateway/Account.cs b/sdk/dotnet/ApiGateway/Account.cs index 87f692ce1fc..26cf41876d0 100644 --- a/sdk/dotnet/ApiGateway/Account.cs +++ b/sdk/dotnet/ApiGateway/Account.cs @@ -105,12 +105,24 @@ namespace Pulumi.Aws.ApiGateway [AwsResourceType("aws:apigateway/account:Account")] public partial class Account : global::Pulumi.CustomResource { + /// + /// The version of the API keys used for the account. + /// + [Output("apiKeyVersion")] + public Output ApiKeyVersion { get; private set; } = null!; + /// /// ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. /// [Output("cloudwatchRoleArn")] public Output CloudwatchRoleArn { get; private set; } = null!; + /// + /// A list of features supported for the account. + /// + [Output("features")] + public Output> Features { get; private set; } = null!; + /// /// Account-Level throttle settings. See exported fields below. /// @@ -177,12 +189,30 @@ public AccountArgs() public sealed class AccountState : global::Pulumi.ResourceArgs { + /// + /// The version of the API keys used for the account. + /// + [Input("apiKeyVersion")] + public Input? ApiKeyVersion { get; set; } + /// /// ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. /// [Input("cloudwatchRoleArn")] public Input? CloudwatchRoleArn { get; set; } + [Input("features")] + private InputList? _features; + + /// + /// A list of features supported for the account. + /// + public InputList Features + { + get => _features ?? (_features = new InputList()); + set => _features = value; + } + [Input("throttleSettings")] private InputList? _throttleSettings; diff --git a/sdk/dotnet/ApiGateway/ApiKey.cs b/sdk/dotnet/ApiGateway/ApiKey.cs index dff5e92c571..3ed1cdd4194 100644 --- a/sdk/dotnet/ApiGateway/ApiKey.cs +++ b/sdk/dotnet/ApiGateway/ApiKey.cs @@ -24,18 +24,18 @@ namespace Pulumi.Aws.ApiGateway /// /// return await Deployment.RunAsync(() => /// { - /// var myDemoApiKey = new Aws.ApiGateway.ApiKey("myDemoApiKey"); + /// var example = new Aws.ApiGateway.ApiKey("example"); /// /// }); /// ``` /// /// ## Import /// - /// Using `pulumi import`, import API Gateway Keys using the `id`. For example: + /// terraform import { /// - /// ```sh - /// $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk - /// ``` + /// to = aws_api_gateway_api_key.example + /// + /// id = "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk /// [AwsResourceType("aws:apigateway/apiKey:ApiKey")] public partial class ApiKey : global::Pulumi.CustomResource @@ -52,6 +52,12 @@ public partial class ApiKey : global::Pulumi.CustomResource [Output("createdDate")] public Output CreatedDate { get; private set; } = null!; + /// + /// An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + /// + [Output("customerId")] + public Output CustomerId { get; private set; } = null!; + /// /// API key description. Defaults to "Managed by Pulumi". /// @@ -144,6 +150,12 @@ public static ApiKey Get(string name, Input id, ApiKeyState? state = nul public sealed class ApiKeyArgs : global::Pulumi.ResourceArgs { + /// + /// An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + /// + [Input("customerId")] + public Input? CustomerId { get; set; } + /// /// API key description. Defaults to "Managed by Pulumi". /// @@ -211,6 +223,12 @@ public sealed class ApiKeyState : global::Pulumi.ResourceArgs [Input("createdDate")] public Input? CreatedDate { get; set; } + /// + /// An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + /// + [Input("customerId")] + public Input? CustomerId { get; set; } + /// /// API key description. Defaults to "Managed by Pulumi". /// diff --git a/sdk/dotnet/ApiGateway/GetKey.cs b/sdk/dotnet/ApiGateway/GetKey.cs index dd703ca6a36..1de16c4be28 100644 --- a/sdk/dotnet/ApiGateway/GetKey.cs +++ b/sdk/dotnet/ApiGateway/GetKey.cs @@ -132,6 +132,10 @@ public sealed class GetKeyResult /// public readonly string CreatedDate; /// + /// Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + /// + public readonly string CustomerId; + /// /// Description of the API Key. /// public readonly string Description; @@ -164,6 +168,8 @@ public sealed class GetKeyResult private GetKeyResult( string createdDate, + string customerId, + string description, bool enabled, @@ -179,6 +185,7 @@ private GetKeyResult( string value) { CreatedDate = createdDate; + CustomerId = customerId; Description = description; Enabled = enabled; Id = id; diff --git a/sdk/dotnet/ApiGateway/Response.cs b/sdk/dotnet/ApiGateway/Response.cs index c5026a133ec..a55cff217ff 100644 --- a/sdk/dotnet/ApiGateway/Response.cs +++ b/sdk/dotnet/ApiGateway/Response.cs @@ -44,11 +44,11 @@ namespace Pulumi.Aws.ApiGateway /// /// ## Import /// - /// Using `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED - /// ``` + /// to = aws_api_gateway_gateway_response.example + /// + /// id = "12345abcde/UNAUTHORIZED" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED /// [AwsResourceType("aws:apigateway/response:Response")] public partial class Response : global::Pulumi.CustomResource diff --git a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesArgs.cs b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesArgs.cs index e4094e52b61..4bd84c5c953 100644 --- a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesArgs.cs @@ -48,12 +48,24 @@ public InputList CheckpointPercentages [Input("minHealthyPercentage")] public Input? MinHealthyPercentage { get; set; } + /// + /// Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + /// + [Input("scaleInProtectedInstances")] + public Input? ScaleInProtectedInstances { get; set; } + /// /// Replace instances that already have your desired configuration. Defaults to `false`. /// [Input("skipMatching")] public Input? SkipMatching { get; set; } + /// + /// Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + /// + [Input("standbyInstances")] + public Input? StandbyInstances { get; set; } + public GroupInstanceRefreshPreferencesArgs() { } diff --git a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesGetArgs.cs b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesGetArgs.cs index caf30e1645c..5671884f54e 100644 --- a/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesGetArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/GroupInstanceRefreshPreferencesGetArgs.cs @@ -48,12 +48,24 @@ public InputList CheckpointPercentages [Input("minHealthyPercentage")] public Input? MinHealthyPercentage { get; set; } + /// + /// Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + /// + [Input("scaleInProtectedInstances")] + public Input? ScaleInProtectedInstances { get; set; } + /// /// Replace instances that already have your desired configuration. Defaults to `false`. /// [Input("skipMatching")] public Input? SkipMatching { get; set; } + /// + /// Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + /// + [Input("standbyInstances")] + public Input? StandbyInstances { get; set; } + public GroupInstanceRefreshPreferencesGetArgs() { } diff --git a/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferences.cs b/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferences.cs index b3962a3934f..601736be626 100644 --- a/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferences.cs +++ b/sdk/dotnet/AutoScaling/Outputs/GroupInstanceRefreshPreferences.cs @@ -34,9 +34,17 @@ public sealed class GroupInstanceRefreshPreferences /// public readonly int? MinHealthyPercentage; /// + /// Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + /// + public readonly string? ScaleInProtectedInstances; + /// /// Replace instances that already have your desired configuration. Defaults to `false`. /// public readonly bool? SkipMatching; + /// + /// Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + /// + public readonly string? StandbyInstances; [OutputConstructor] private GroupInstanceRefreshPreferences( @@ -50,14 +58,20 @@ private GroupInstanceRefreshPreferences( int? minHealthyPercentage, - bool? skipMatching) + string? scaleInProtectedInstances, + + bool? skipMatching, + + string? standbyInstances) { AutoRollback = autoRollback; CheckpointDelay = checkpointDelay; CheckpointPercentages = checkpointPercentages; InstanceWarmup = instanceWarmup; MinHealthyPercentage = minHealthyPercentage; + ScaleInProtectedInstances = scaleInProtectedInstances; SkipMatching = skipMatching; + StandbyInstances = standbyInstances; } } } diff --git a/sdk/dotnet/Cfg/AggregateAuthorization.cs b/sdk/dotnet/Cfg/AggregateAuthorization.cs index 6109d74e0fb..cf749fa5211 100644 --- a/sdk/dotnet/Cfg/AggregateAuthorization.cs +++ b/sdk/dotnet/Cfg/AggregateAuthorization.cs @@ -33,11 +33,11 @@ namespace Pulumi.Aws.Cfg /// /// ## Import /// - /// Using `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1 - /// ``` + /// to = aws_config_aggregate_authorization.example + /// + /// id = "123456789012:us-east-1" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 /// [AwsResourceType("aws:cfg/aggregateAuthorization:AggregateAuthorization")] public partial class AggregateAuthorization : global::Pulumi.CustomResource @@ -61,7 +61,7 @@ public partial class AggregateAuthorization : global::Pulumi.CustomResource public Output Region { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -134,7 +134,7 @@ public sealed class AggregateAuthorizationArgs : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -172,7 +172,7 @@ public sealed class AggregateAuthorizationState : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/Cloud9/EnvironmentMembership.cs b/sdk/dotnet/Cloud9/EnvironmentMembership.cs index 156df74532f..a0390129c76 100644 --- a/sdk/dotnet/Cloud9/EnvironmentMembership.cs +++ b/sdk/dotnet/Cloud9/EnvironmentMembership.cs @@ -41,11 +41,11 @@ namespace Pulumi.Aws.Cloud9 /// /// ## Import /// - /// Using `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn - /// ``` + /// to = aws_cloud9_environment_membership.test + /// + /// id = "environment-id#user-arn" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn /// [AwsResourceType("aws:cloud9/environmentMembership:EnvironmentMembership")] public partial class EnvironmentMembership : global::Pulumi.CustomResource diff --git a/sdk/dotnet/CloudFormation/StackSet.cs b/sdk/dotnet/CloudFormation/StackSet.cs index c07d474b2aa..b430f26323f 100644 --- a/sdk/dotnet/CloudFormation/StackSet.cs +++ b/sdk/dotnet/CloudFormation/StackSet.cs @@ -141,7 +141,7 @@ namespace Pulumi.Aws.CloudFormation /// Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example: /// /// ```sh - /// $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN + /// $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN /// ``` /// [AwsResourceType("aws:cloudformation/stackSet:StackSet")] diff --git a/sdk/dotnet/CloudFormation/StackSetInstance.cs b/sdk/dotnet/CloudFormation/StackSetInstance.cs index 073b3861e5b..5db3716c8da 100644 --- a/sdk/dotnet/CloudFormation/StackSetInstance.cs +++ b/sdk/dotnet/CloudFormation/StackSetInstance.cs @@ -138,6 +138,8 @@ namespace Pulumi.Aws.CloudFormation /// /// Import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example: /// + /// Import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example: + /// /// Using `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example: /// /// ```sh diff --git a/sdk/dotnet/CodePipeline/Pipeline.cs b/sdk/dotnet/CodePipeline/Pipeline.cs index 0e3e141720f..5efd2f1273b 100644 --- a/sdk/dotnet/CodePipeline/Pipeline.cs +++ b/sdk/dotnet/CodePipeline/Pipeline.cs @@ -231,11 +231,11 @@ namespace Pulumi.Aws.CodePipeline /// /// ## Import /// - /// Using `pulumi import`, import CodePipelines using the name. For example: + /// In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:codepipeline/pipeline:Pipeline foo example - /// ``` + /// to = aws_codepipeline.foo + /// + /// id = "example" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example /// [AwsResourceType("aws:codepipeline/pipeline:Pipeline")] public partial class Pipeline : global::Pulumi.CustomResource @@ -271,7 +271,7 @@ public partial class Pipeline : global::Pulumi.CustomResource public Output> Stages { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -368,7 +368,7 @@ public InputList Stages private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -430,7 +430,7 @@ public InputList Stages private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/CodePipeline/Webhook.cs b/sdk/dotnet/CodePipeline/Webhook.cs index 5c092880898..d8d324e5d07 100644 --- a/sdk/dotnet/CodePipeline/Webhook.cs +++ b/sdk/dotnet/CodePipeline/Webhook.cs @@ -135,11 +135,11 @@ namespace Pulumi.Aws.CodePipeline /// /// ## Import /// - /// Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example: + /// In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example - /// ``` + /// to = aws_codepipeline_webhook.example + /// + /// id = "arn:aws:codepipeline:us-west-2:123456789012:webhook:example" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example /// [AwsResourceType("aws:codepipeline/webhook:Webhook")] public partial class Webhook : global::Pulumi.CustomResource @@ -175,7 +175,7 @@ public partial class Webhook : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -284,7 +284,7 @@ public InputList Filters private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -352,7 +352,7 @@ public InputList Filters private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/CodeStarConnections/Connection.cs b/sdk/dotnet/CodeStarConnections/Connection.cs index 0e8ddc515ff..e544b0c8eaa 100644 --- a/sdk/dotnet/CodeStarConnections/Connection.cs +++ b/sdk/dotnet/CodeStarConnections/Connection.cs @@ -87,11 +87,11 @@ namespace Pulumi.Aws.CodeStarConnections /// /// ## Import /// - /// Using `pulumi import`, import CodeStar connections using the ARN. For example: + /// In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 - /// ``` + /// to = aws_codestarconnections_connection.test-connection + /// + /// id = "arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 /// [AwsResourceType("aws:codestarconnections/connection:Connection")] public partial class Connection : global::Pulumi.CustomResource diff --git a/sdk/dotnet/CodeStarConnections/Host.cs b/sdk/dotnet/CodeStarConnections/Host.cs index 185dae5a42b..4b56cf1f4e8 100644 --- a/sdk/dotnet/CodeStarConnections/Host.cs +++ b/sdk/dotnet/CodeStarConnections/Host.cs @@ -35,11 +35,11 @@ namespace Pulumi.Aws.CodeStarConnections /// /// ## Import /// - /// Using `pulumi import`, import CodeStar Host using the ARN. For example: + /// In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 - /// ``` + /// to = aws_codestarconnections_host.example-host + /// + /// id = "arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 /// [AwsResourceType("aws:codestarconnections/host:Host")] public partial class Host : global::Pulumi.CustomResource diff --git a/sdk/dotnet/CodeStarNotifications/NotificationRule.cs b/sdk/dotnet/CodeStarNotifications/NotificationRule.cs index 194bd8eee52..bed6faa262e 100644 --- a/sdk/dotnet/CodeStarNotifications/NotificationRule.cs +++ b/sdk/dotnet/CodeStarNotifications/NotificationRule.cs @@ -86,11 +86,11 @@ namespace Pulumi.Aws.CodeStarNotifications /// /// ## Import /// - /// Using `pulumi import`, import CodeStar notification rule using the ARN. For example: + /// In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b - /// ``` + /// to = aws_codestarnotifications_notification_rule.foo + /// + /// id = "arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b /// [AwsResourceType("aws:codestarnotifications/notificationRule:NotificationRule")] public partial class NotificationRule : global::Pulumi.CustomResource @@ -133,7 +133,7 @@ public partial class NotificationRule : global::Pulumi.CustomResource public Output Status { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -237,7 +237,7 @@ public InputList EventTypeIds private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -312,7 +312,7 @@ public InputList EventTypeIds private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/Cognito/GetIdentityPool.cs b/sdk/dotnet/Cognito/GetIdentityPool.cs new file mode 100644 index 00000000000..9a49e818311 --- /dev/null +++ b/sdk/dotnet/Cognito/GetIdentityPool.cs @@ -0,0 +1,209 @@ +// *** 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.Cognito +{ + public static class GetIdentityPool + { + /// + /// Data source for managing an AWS Cognito Identity Pool. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Cognito.GetIdentityPool.Invoke(new() + /// { + /// IdentityPoolName = "test pool", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetIdentityPoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:cognito/getIdentityPool:getIdentityPool", args ?? new GetIdentityPoolArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS Cognito Identity Pool. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Cognito.GetIdentityPool.Invoke(new() + /// { + /// IdentityPoolName = "test pool", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetIdentityPoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:cognito/getIdentityPool:getIdentityPool", args ?? new GetIdentityPoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetIdentityPoolArgs : global::Pulumi.InvokeArgs + { + /// + /// The Cognito Identity Pool name. + /// + [Input("identityPoolName", required: true)] + public string IdentityPoolName { get; set; } = null!; + + [Input("tags")] + private Dictionary? _tags; + + /// + /// A map of tags to assigned to the Identity Pool. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + public GetIdentityPoolArgs() + { + } + public static new GetIdentityPoolArgs Empty => new GetIdentityPoolArgs(); + } + + public sealed class GetIdentityPoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Cognito Identity Pool name. + /// + [Input("identityPoolName", required: true)] + public Input IdentityPoolName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assigned to the Identity Pool. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public GetIdentityPoolInvokeArgs() + { + } + public static new GetIdentityPoolInvokeArgs Empty => new GetIdentityPoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetIdentityPoolResult + { + /// + /// Whether the classic / basic authentication flow is enabled. + /// + public readonly bool AllowClassicFlow; + /// + /// Whether the identity pool supports unauthenticated logins or not. + /// + public readonly bool AllowUnauthenticatedIdentities; + /// + /// ARN of the Pool. + /// + public readonly string Arn; + /// + /// An array of Amazon Cognito Identity user pools and their client IDs. + /// + public readonly ImmutableArray CognitoIdentityProviders; + /// + /// The "domain" by which Cognito will refer to your users. + /// + public readonly string DeveloperProviderName; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string IdentityPoolName; + /// + /// Set of OpendID Connect provider ARNs. + /// + public readonly ImmutableArray OpenidConnectProviderArns; + /// + /// An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. + /// + public readonly ImmutableArray SamlProviderArns; + /// + /// Key-Value pairs mapping provider names to provider app IDs. + /// + public readonly ImmutableDictionary SupportedLoginProviders; + /// + /// A map of tags to assigned to the Identity Pool. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetIdentityPoolResult( + bool allowClassicFlow, + + bool allowUnauthenticatedIdentities, + + string arn, + + ImmutableArray cognitoIdentityProviders, + + string developerProviderName, + + string id, + + string identityPoolName, + + ImmutableArray openidConnectProviderArns, + + ImmutableArray samlProviderArns, + + ImmutableDictionary supportedLoginProviders, + + ImmutableDictionary tags) + { + AllowClassicFlow = allowClassicFlow; + AllowUnauthenticatedIdentities = allowUnauthenticatedIdentities; + Arn = arn; + CognitoIdentityProviders = cognitoIdentityProviders; + DeveloperProviderName = developerProviderName; + Id = id; + IdentityPoolName = identityPoolName; + OpenidConnectProviderArns = openidConnectProviderArns; + SamlProviderArns = samlProviderArns; + SupportedLoginProviders = supportedLoginProviders; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Cognito/IdentityPool.cs b/sdk/dotnet/Cognito/IdentityPool.cs index 2bb42d82133..6eaba0c8b45 100644 --- a/sdk/dotnet/Cognito/IdentityPool.cs +++ b/sdk/dotnet/Cognito/IdentityPool.cs @@ -68,11 +68,11 @@ namespace Pulumi.Aws.Cognito /// /// ## Import /// - /// Using `pulumi import`, import Cognito Identity Pool using its ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 - /// ``` + /// to = aws_cognito_identity_pool.mypool + /// + /// id = "us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 /// [AwsResourceType("aws:cognito/identityPool:IdentityPool")] public partial class IdentityPool : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Cognito/IdentityPoolProviderPrincipalTag.cs b/sdk/dotnet/Cognito/IdentityPoolProviderPrincipalTag.cs index e3d5724c3d7..8a4aa1988a0 100644 --- a/sdk/dotnet/Cognito/IdentityPoolProviderPrincipalTag.cs +++ b/sdk/dotnet/Cognito/IdentityPoolProviderPrincipalTag.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Cognito /// /// ## Import /// - /// Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD - /// ``` + /// to = aws_cognito_identity_pool_provider_principal_tag.example + /// + /// id = "us-west-2_abc123:CorpAD" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD /// [AwsResourceType("aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag")] public partial class IdentityPoolProviderPrincipalTag : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Cognito/IdentityPoolRoleAttachment.cs b/sdk/dotnet/Cognito/IdentityPoolRoleAttachment.cs index 4658789d1d8..47633242638 100644 --- a/sdk/dotnet/Cognito/IdentityPoolRoleAttachment.cs +++ b/sdk/dotnet/Cognito/IdentityPoolRoleAttachment.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.Cognito /// /// ## Import /// - /// Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 - /// ``` + /// to = aws_cognito_identity_pool_roles_attachment.example + /// + /// id = "us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 /// [AwsResourceType("aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment")] public partial class IdentityPoolRoleAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Cognito/Outputs/GetIdentityPoolCognitoIdentityProviderResult.cs b/sdk/dotnet/Cognito/Outputs/GetIdentityPoolCognitoIdentityProviderResult.cs new file mode 100644 index 00000000000..016b627a0b7 --- /dev/null +++ b/sdk/dotnet/Cognito/Outputs/GetIdentityPoolCognitoIdentityProviderResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Cognito.Outputs +{ + + [OutputType] + public sealed class GetIdentityPoolCognitoIdentityProviderResult + { + public readonly string ClientId; + public readonly string ProviderName; + public readonly bool ServerSideTokenCheck; + + [OutputConstructor] + private GetIdentityPoolCognitoIdentityProviderResult( + string clientId, + + string providerName, + + bool serverSideTokenCheck) + { + ClientId = clientId; + ProviderName = providerName; + ServerSideTokenCheck = serverSideTokenCheck; + } + } +} diff --git a/sdk/dotnet/Cognito/UserPool.cs b/sdk/dotnet/Cognito/UserPool.cs index c674649a1fa..ab1ed09c04f 100644 --- a/sdk/dotnet/Cognito/UserPool.cs +++ b/sdk/dotnet/Cognito/UserPool.cs @@ -91,11 +91,11 @@ namespace Pulumi.Aws.Cognito /// /// ## Import /// - /// Using `pulumi import`, import Cognito User Pools using the `id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 - /// ``` + /// to = aws_cognito_user_pool.pool + /// + /// id = "us-west-2_abc123" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 /// [AwsResourceType("aws:cognito/userPool:UserPool")] public partial class UserPool : global::Pulumi.CustomResource @@ -235,7 +235,7 @@ public partial class UserPool : global::Pulumi.CustomResource public Output SmsAuthenticationMessage { get; private set; } = null!; /// - /// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + /// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. /// [Output("smsConfiguration")] public Output SmsConfiguration { get; private set; } = null!; @@ -451,7 +451,7 @@ public InputList Schemas public Input? SmsAuthenticationMessage { get; set; } /// - /// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + /// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. /// [Input("smsConfiguration")] public Input? SmsConfiguration { get; set; } @@ -677,7 +677,7 @@ public InputList Schemas public Input? SmsAuthenticationMessage { get; set; } /// - /// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + /// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. /// [Input("smsConfiguration")] public Input? SmsConfiguration { get; set; } diff --git a/sdk/dotnet/Connect/BotAssociation.cs b/sdk/dotnet/Connect/BotAssociation.cs index 0be8bf6ef19..9eddf094fa8 100644 --- a/sdk/dotnet/Connect/BotAssociation.cs +++ b/sdk/dotnet/Connect/BotAssociation.cs @@ -117,11 +117,11 @@ namespace Pulumi.Aws.Connect /// /// ## Import /// - /// Using `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example: + /// In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 - /// ``` + /// to = aws_connect_bot_association.example + /// + /// id = "aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 /// [AwsResourceType("aws:connect/botAssociation:BotAssociation")] public partial class BotAssociation : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Connect/LambdaFunctionAssociation.cs b/sdk/dotnet/Connect/LambdaFunctionAssociation.cs index 2a0f308170a..fb88f9225f5 100644 --- a/sdk/dotnet/Connect/LambdaFunctionAssociation.cs +++ b/sdk/dotnet/Connect/LambdaFunctionAssociation.cs @@ -34,11 +34,11 @@ namespace Pulumi.Aws.Connect /// /// ## Import /// - /// Using `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example: + /// In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example - /// ``` + /// to = aws_connect_lambda_function_association.example + /// + /// id = "aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example /// [AwsResourceType("aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation")] public partial class LambdaFunctionAssociation : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsArgs.cs b/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsArgs.cs index 1b1e31a42fc..8594ce2041d 100644 --- a/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsArgs.cs +++ b/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsArgs.cs @@ -72,7 +72,7 @@ public InputList Schedules /// /// A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. /// - /// > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + /// > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. /// public InputMap TargetTags { diff --git a/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsGetArgs.cs b/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsGetArgs.cs index 8634c931778..eaa7d849e4a 100644 --- a/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsGetArgs.cs +++ b/sdk/dotnet/Dlm/Inputs/LifecyclePolicyPolicyDetailsGetArgs.cs @@ -72,7 +72,7 @@ public InputList Schedules /// /// A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. /// - /// > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + /// > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. /// public InputMap TargetTags { diff --git a/sdk/dotnet/Dlm/LifecyclePolicy.cs b/sdk/dotnet/Dlm/LifecyclePolicy.cs index 901fb0b8486..8440ab3463c 100644 --- a/sdk/dotnet/Dlm/LifecyclePolicy.cs +++ b/sdk/dotnet/Dlm/LifecyclePolicy.cs @@ -81,11 +81,11 @@ namespace Pulumi.Aws.Dlm /// /// ## Import /// - /// Using `pulumi import`, import DLM lifecycle policies using their policy ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901 - /// ``` + /// to = aws_dlm_lifecycle_policy.example + /// + /// id = "policy-abcdef12345678901" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 /// [AwsResourceType("aws:dlm/lifecyclePolicy:LifecyclePolicy")] public partial class LifecyclePolicy : global::Pulumi.CustomResource @@ -121,7 +121,7 @@ public partial class LifecyclePolicy : global::Pulumi.CustomResource public Output State { 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. + /// 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!; @@ -206,7 +206,7 @@ public sealed class LifecyclePolicyArgs : global::Pulumi.ResourceArgs 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. + /// 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 { @@ -256,7 +256,7 @@ public sealed class LifecyclePolicyState : global::Pulumi.ResourceArgs 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. + /// 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 { diff --git a/sdk/dotnet/Dlm/Outputs/LifecyclePolicyPolicyDetails.cs b/sdk/dotnet/Dlm/Outputs/LifecyclePolicyPolicyDetails.cs index 2c68d6a53a3..1a4d00692af 100644 --- a/sdk/dotnet/Dlm/Outputs/LifecyclePolicyPolicyDetails.cs +++ b/sdk/dotnet/Dlm/Outputs/LifecyclePolicyPolicyDetails.cs @@ -44,7 +44,7 @@ public sealed class LifecyclePolicyPolicyDetails /// /// A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. /// - /// > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + /// > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. /// public readonly ImmutableDictionary? TargetTags; diff --git a/sdk/dotnet/Ec2/NetworkInterface.cs b/sdk/dotnet/Ec2/NetworkInterface.cs index d5d5d1f02bc..560150dab36 100644 --- a/sdk/dotnet/Ec2/NetworkInterface.cs +++ b/sdk/dotnet/Ec2/NetworkInterface.cs @@ -64,11 +64,11 @@ namespace Pulumi.Aws.Ec2 /// /// ## Import /// - /// Using `pulumi import`, import Network Interfaces using the `id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3 - /// ``` + /// to = aws_network_interface.test + /// + /// id = "eni-e5aa89a3" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 /// [AwsResourceType("aws:ec2/networkInterface:NetworkInterface")] public partial class NetworkInterface : global::Pulumi.CustomResource diff --git a/sdk/dotnet/ElastiCache/Cluster.cs b/sdk/dotnet/ElastiCache/Cluster.cs index 38240df3a89..3fe4c411ec4 100644 --- a/sdk/dotnet/ElastiCache/Cluster.cs +++ b/sdk/dotnet/ElastiCache/Cluster.cs @@ -360,6 +360,12 @@ public partial class Cluster : global::Pulumi.CustomResource [Output("tagsAll")] public Output> TagsAll { get; private set; } = null!; + /// + /// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + /// + [Output("transitEncryptionEnabled")] + public Output TransitEncryptionEnabled { get; private set; } = null!; + /// /// Create a Cluster resource with the given unique name, arguments, and options. @@ -611,6 +617,12 @@ public InputMap Tags set => _tags = value; } + /// + /// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + /// + [Input("transitEncryptionEnabled")] + public Input? TransitEncryptionEnabled { get; set; } + public ClusterArgs() { } @@ -872,6 +884,12 @@ public InputMap TagsAll set => _tagsAll = value; } + /// + /// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + /// + [Input("transitEncryptionEnabled")] + public Input? TransitEncryptionEnabled { get; set; } + public ClusterState() { } diff --git a/sdk/dotnet/EmrContainers/JobTemplate.cs b/sdk/dotnet/EmrContainers/JobTemplate.cs index 7b5ef671eaf..0d03f5d4ac6 100644 --- a/sdk/dotnet/EmrContainers/JobTemplate.cs +++ b/sdk/dotnet/EmrContainers/JobTemplate.cs @@ -44,11 +44,11 @@ namespace Pulumi.Aws.EmrContainers /// /// ## Import /// - /// Using `pulumi import`, import EKS job templates using the `id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l - /// ``` + /// to = aws_emrcontainers_job_template.example + /// + /// id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l /// [AwsResourceType("aws:emrcontainers/jobTemplate:JobTemplate")] public partial class JobTemplate : global::Pulumi.CustomResource diff --git a/sdk/dotnet/EmrContainers/VirtualCluster.cs b/sdk/dotnet/EmrContainers/VirtualCluster.cs index 00c23f86331..2e18b32a962 100644 --- a/sdk/dotnet/EmrContainers/VirtualCluster.cs +++ b/sdk/dotnet/EmrContainers/VirtualCluster.cs @@ -44,11 +44,11 @@ namespace Pulumi.Aws.EmrContainers /// /// ## Import /// - /// Using `pulumi import`, import EKS Clusters using the `id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l - /// ``` + /// to = aws_emrcontainers_virtual_cluster.example + /// + /// id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l /// [AwsResourceType("aws:emrcontainers/virtualCluster:VirtualCluster")] public partial class VirtualCluster : global::Pulumi.CustomResource @@ -72,7 +72,7 @@ public partial class VirtualCluster : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -145,7 +145,7 @@ public sealed class VirtualClusterArgs : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -183,7 +183,7 @@ public sealed class VirtualClusterState : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/EmrServerless/Application.cs b/sdk/dotnet/EmrServerless/Application.cs index 3de89be9f15..6f5bbfc9aac 100644 --- a/sdk/dotnet/EmrServerless/Application.cs +++ b/sdk/dotnet/EmrServerless/Application.cs @@ -91,11 +91,11 @@ namespace Pulumi.Aws.EmrServerless /// /// ## Import /// - /// Using `pulumi import`, import EMR Severless applications using the `id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:emrserverless/application:Application example id - /// ``` + /// to = aws_emrserverless_application.example + /// + /// id = "id" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id /// [AwsResourceType("aws:emrserverless/application:Application")] public partial class Application : global::Pulumi.CustomResource @@ -161,7 +161,7 @@ public partial class Application : global::Pulumi.CustomResource public Output ReleaseLabel { get; private set; } = null!; /// - /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -288,7 +288,7 @@ public InputList InitialCapacities private InputMap? _tags; /// - /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -380,7 +380,7 @@ public InputList InitialCapacities private InputMap? _tags; /// - /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/Fsx/GetWindowsFileSystem.cs b/sdk/dotnet/Fsx/GetWindowsFileSystem.cs index 89c95bcaabd..8275b0caa1c 100644 --- a/sdk/dotnet/Fsx/GetWindowsFileSystem.cs +++ b/sdk/dotnet/Fsx/GetWindowsFileSystem.cs @@ -161,6 +161,10 @@ public sealed class GetWindowsFileSystemResult /// public readonly string DeploymentType; /// + /// The SSD IOPS configuration for the file system. + /// + public readonly ImmutableArray DiskIopsConfigurations; + /// /// DNS name for the file system (e.g. `fs-12345678.corp.example.com`). /// public readonly string DnsName; @@ -236,6 +240,8 @@ private GetWindowsFileSystemResult( string deploymentType, + ImmutableArray diskIopsConfigurations, + string dnsName, string id, @@ -277,6 +283,7 @@ private GetWindowsFileSystemResult( CopyTagsToBackups = copyTagsToBackups; DailyAutomaticBackupStartTime = dailyAutomaticBackupStartTime; DeploymentType = deploymentType; + DiskIopsConfigurations = diskIopsConfigurations; DnsName = dnsName; Id = id; KmsKeyId = kmsKeyId; diff --git a/sdk/dotnet/Fsx/Inputs/WindowsFileSystemDiskIopsConfigurationArgs.cs b/sdk/dotnet/Fsx/Inputs/WindowsFileSystemDiskIopsConfigurationArgs.cs new file mode 100644 index 00000000000..2548ef89b34 --- /dev/null +++ b/sdk/dotnet/Fsx/Inputs/WindowsFileSystemDiskIopsConfigurationArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Fsx.Inputs +{ + + public sealed class WindowsFileSystemDiskIopsConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The total number of SSD IOPS provisioned for the file system. + /// + [Input("iops")] + public Input? Iops { get; set; } + + /// + /// Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + /// + [Input("mode")] + public Input? Mode { get; set; } + + public WindowsFileSystemDiskIopsConfigurationArgs() + { + } + public static new WindowsFileSystemDiskIopsConfigurationArgs Empty => new WindowsFileSystemDiskIopsConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Fsx/Inputs/WindowsFileSystemDiskIopsConfigurationGetArgs.cs b/sdk/dotnet/Fsx/Inputs/WindowsFileSystemDiskIopsConfigurationGetArgs.cs new file mode 100644 index 00000000000..02b7f719285 --- /dev/null +++ b/sdk/dotnet/Fsx/Inputs/WindowsFileSystemDiskIopsConfigurationGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Fsx.Inputs +{ + + public sealed class WindowsFileSystemDiskIopsConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The total number of SSD IOPS provisioned for the file system. + /// + [Input("iops")] + public Input? Iops { get; set; } + + /// + /// Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + /// + [Input("mode")] + public Input? Mode { get; set; } + + public WindowsFileSystemDiskIopsConfigurationGetArgs() + { + } + public static new WindowsFileSystemDiskIopsConfigurationGetArgs Empty => new WindowsFileSystemDiskIopsConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Fsx/Outputs/GetWindowsFileSystemDiskIopsConfigurationResult.cs b/sdk/dotnet/Fsx/Outputs/GetWindowsFileSystemDiskIopsConfigurationResult.cs new file mode 100644 index 00000000000..5eb02150b51 --- /dev/null +++ b/sdk/dotnet/Fsx/Outputs/GetWindowsFileSystemDiskIopsConfigurationResult.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.Fsx.Outputs +{ + + [OutputType] + public sealed class GetWindowsFileSystemDiskIopsConfigurationResult + { + public readonly int Iops; + public readonly string Mode; + + [OutputConstructor] + private GetWindowsFileSystemDiskIopsConfigurationResult( + int iops, + + string mode) + { + Iops = iops; + Mode = mode; + } + } +} diff --git a/sdk/dotnet/Fsx/Outputs/WindowsFileSystemDiskIopsConfiguration.cs b/sdk/dotnet/Fsx/Outputs/WindowsFileSystemDiskIopsConfiguration.cs new file mode 100644 index 00000000000..a66c6956f5e --- /dev/null +++ b/sdk/dotnet/Fsx/Outputs/WindowsFileSystemDiskIopsConfiguration.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Fsx.Outputs +{ + + [OutputType] + public sealed class WindowsFileSystemDiskIopsConfiguration + { + /// + /// The total number of SSD IOPS provisioned for the file system. + /// + public readonly int? Iops; + /// + /// Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + /// + public readonly string? Mode; + + [OutputConstructor] + private WindowsFileSystemDiskIopsConfiguration( + int? iops, + + string? mode) + { + Iops = iops; + Mode = mode; + } + } +} diff --git a/sdk/dotnet/Fsx/WindowsFileSystem.cs b/sdk/dotnet/Fsx/WindowsFileSystem.cs index 67e85636eb7..ac0102c0141 100644 --- a/sdk/dotnet/Fsx/WindowsFileSystem.cs +++ b/sdk/dotnet/Fsx/WindowsFileSystem.cs @@ -109,7 +109,7 @@ public partial class WindowsFileSystem : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + /// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. /// [Output("auditLogConfiguration")] public Output AuditLogConfiguration { get; private set; } = null!; @@ -144,6 +144,12 @@ public partial class WindowsFileSystem : global::Pulumi.CustomResource [Output("deploymentType")] public Output DeploymentType { get; private set; } = null!; + /// + /// The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + /// + [Output("diskIopsConfiguration")] + public Output DiskIopsConfiguration { get; private set; } = null!; + /// /// DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) /// @@ -193,7 +199,7 @@ public partial class WindowsFileSystem : global::Pulumi.CustomResource public Output> SecurityGroupIds { get; private set; } = null!; /// - /// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + /// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. /// [Output("selfManagedActiveDirectory")] public Output SelfManagedActiveDirectory { get; private set; } = null!; @@ -319,7 +325,7 @@ public InputList Aliases } /// - /// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + /// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. /// [Input("auditLogConfiguration")] public Input? AuditLogConfiguration { get; set; } @@ -354,6 +360,12 @@ public InputList Aliases [Input("deploymentType")] public Input? DeploymentType { get; set; } + /// + /// The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + /// + [Input("diskIopsConfiguration")] + public Input? DiskIopsConfiguration { get; set; } + /// /// ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. /// @@ -379,7 +391,7 @@ public InputList SecurityGroupIds } /// - /// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + /// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. /// [Input("selfManagedActiveDirectory")] public Input? SelfManagedActiveDirectory { get; set; } @@ -473,7 +485,7 @@ public InputList Aliases public Input? Arn { get; set; } /// - /// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + /// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. /// [Input("auditLogConfiguration")] public Input? AuditLogConfiguration { get; set; } @@ -508,6 +520,12 @@ public InputList Aliases [Input("deploymentType")] public Input? DeploymentType { get; set; } + /// + /// The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + /// + [Input("diskIopsConfiguration")] + public Input? DiskIopsConfiguration { get; set; } + /// /// DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) /// @@ -569,7 +587,7 @@ public InputList SecurityGroupIds } /// - /// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + /// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. /// [Input("selfManagedActiveDirectory")] public Input? SelfManagedActiveDirectory { get; set; } diff --git a/sdk/dotnet/GameLift/GameServerGroup.cs b/sdk/dotnet/GameLift/GameServerGroup.cs index c1d0ea3caa9..f1df11362c0 100644 --- a/sdk/dotnet/GameLift/GameServerGroup.cs +++ b/sdk/dotnet/GameLift/GameServerGroup.cs @@ -172,11 +172,11 @@ namespace Pulumi.Aws.GameLift /// /// ## Import /// - /// Using `pulumi import`, import GameLift Game Server Group using the `name`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example - /// ``` + /// to = aws_gamelift_game_server_group.example + /// + /// id = "example" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example /// [AwsResourceType("aws:gamelift/gameServerGroup:GameServerGroup")] public partial class GameServerGroup : global::Pulumi.CustomResource diff --git a/sdk/dotnet/GetDefaultTags.cs b/sdk/dotnet/GetDefaultTags.cs index 4edf7900763..00e9a8374b8 100644 --- a/sdk/dotnet/GetDefaultTags.cs +++ b/sdk/dotnet/GetDefaultTags.cs @@ -14,7 +14,7 @@ public static class GetDefaultTags /// /// Use this data source to get the default tags configured on the provider. /// - /// With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + /// With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. /// /// {{% examples %}} /// ## Example Usage @@ -42,7 +42,7 @@ public static Task InvokeAsync(GetDefaultTagsArgs? args = /// /// Use this data source to get the default tags configured on the provider. /// - /// With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + /// With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. /// /// {{% examples %}} /// ## Example Usage diff --git a/sdk/dotnet/Glue/CatalogTable.cs b/sdk/dotnet/Glue/CatalogTable.cs index 467f0c27201..08c5bf98935 100644 --- a/sdk/dotnet/Glue/CatalogTable.cs +++ b/sdk/dotnet/Glue/CatalogTable.cs @@ -145,6 +145,12 @@ public partial class CatalogTable : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// Configuration block for open table formats. See `open_table_format_input` below. + /// + [Output("openTableFormatInput")] + public Output OpenTableFormatInput { get; private set; } = null!; + /// /// Owner of the table. /// @@ -277,6 +283,12 @@ public sealed class CatalogTableArgs : global::Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + /// + /// Configuration block for open table formats. See `open_table_format_input` below. + /// + [Input("openTableFormatInput")] + public Input? OpenTableFormatInput { get; set; } + /// /// Owner of the table. /// @@ -395,6 +407,12 @@ public sealed class CatalogTableState : global::Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + /// + /// Configuration block for open table formats. See `open_table_format_input` below. + /// + [Input("openTableFormatInput")] + public Input? OpenTableFormatInput { get; set; } + /// /// Owner of the table. /// diff --git a/sdk/dotnet/Glue/DevEndpoint.cs b/sdk/dotnet/Glue/DevEndpoint.cs index e3369408cd9..4380607effe 100644 --- a/sdk/dotnet/Glue/DevEndpoint.cs +++ b/sdk/dotnet/Glue/DevEndpoint.cs @@ -70,11 +70,11 @@ namespace Pulumi.Aws.Glue /// /// ## Import /// - /// Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo - /// ``` + /// to = aws_glue_dev_endpoint.example + /// + /// id = "foo" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo /// [AwsResourceType("aws:glue/devEndpoint:DevEndpoint")] public partial class DevEndpoint : global::Pulumi.CustomResource @@ -194,7 +194,7 @@ public partial class DevEndpoint : global::Pulumi.CustomResource public Output SubnetId { 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. + /// 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!; @@ -375,7 +375,7 @@ public InputList SecurityGroupIds 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. + /// 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 { @@ -533,7 +533,7 @@ public InputList SecurityGroupIds 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. + /// 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 { diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputArgs.cs new file mode 100644 index 00000000000..08096b9e782 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputArgs.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.Glue.Inputs +{ + + public sealed class CatalogTableOpenTableFormatInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration block for iceberg table config. See `iceberg_input` below. + /// + [Input("icebergInput", required: true)] + public Input IcebergInput { get; set; } = null!; + + public CatalogTableOpenTableFormatInputArgs() + { + } + public static new CatalogTableOpenTableFormatInputArgs Empty => new CatalogTableOpenTableFormatInputArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputGetArgs.cs new file mode 100644 index 00000000000..71e80ce5eec --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputGetArgs.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.Glue.Inputs +{ + + public sealed class CatalogTableOpenTableFormatInputGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration block for iceberg table config. See `iceberg_input` below. + /// + [Input("icebergInput", required: true)] + public Input IcebergInput { get; set; } = null!; + + public CatalogTableOpenTableFormatInputGetArgs() + { + } + public static new CatalogTableOpenTableFormatInputGetArgs Empty => new CatalogTableOpenTableFormatInputGetArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputIcebergInputArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputIcebergInputArgs.cs new file mode 100644 index 00000000000..2a9a7104e9d --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputIcebergInputArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Glue.Inputs +{ + + public sealed class CatalogTableOpenTableFormatInputIcebergInputArgs : global::Pulumi.ResourceArgs + { + /// + /// A required metadata operation. Can only be set to CREATE. + /// + [Input("metadataOperation", required: true)] + public Input MetadataOperation { get; set; } = null!; + + /// + /// The table version for the Iceberg table. Defaults to 2. + /// + [Input("version")] + public Input? Version { get; set; } + + public CatalogTableOpenTableFormatInputIcebergInputArgs() + { + } + public static new CatalogTableOpenTableFormatInputIcebergInputArgs Empty => new CatalogTableOpenTableFormatInputIcebergInputArgs(); + } +} diff --git a/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputIcebergInputGetArgs.cs b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputIcebergInputGetArgs.cs new file mode 100644 index 00000000000..fa52b801205 --- /dev/null +++ b/sdk/dotnet/Glue/Inputs/CatalogTableOpenTableFormatInputIcebergInputGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Glue.Inputs +{ + + public sealed class CatalogTableOpenTableFormatInputIcebergInputGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A required metadata operation. Can only be set to CREATE. + /// + [Input("metadataOperation", required: true)] + public Input MetadataOperation { get; set; } = null!; + + /// + /// The table version for the Iceberg table. Defaults to 2. + /// + [Input("version")] + public Input? Version { get; set; } + + public CatalogTableOpenTableFormatInputIcebergInputGetArgs() + { + } + public static new CatalogTableOpenTableFormatInputIcebergInputGetArgs Empty => new CatalogTableOpenTableFormatInputIcebergInputGetArgs(); + } +} diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOpenTableFormatInput.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOpenTableFormatInput.cs new file mode 100644 index 00000000000..b639542a25c --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOpenTableFormatInput.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.Glue.Outputs +{ + + [OutputType] + public sealed class CatalogTableOpenTableFormatInput + { + /// + /// Configuration block for iceberg table config. See `iceberg_input` below. + /// + public readonly Outputs.CatalogTableOpenTableFormatInputIcebergInput IcebergInput; + + [OutputConstructor] + private CatalogTableOpenTableFormatInput(Outputs.CatalogTableOpenTableFormatInputIcebergInput icebergInput) + { + IcebergInput = icebergInput; + } + } +} diff --git a/sdk/dotnet/Glue/Outputs/CatalogTableOpenTableFormatInputIcebergInput.cs b/sdk/dotnet/Glue/Outputs/CatalogTableOpenTableFormatInputIcebergInput.cs new file mode 100644 index 00000000000..f550d9eb4cd --- /dev/null +++ b/sdk/dotnet/Glue/Outputs/CatalogTableOpenTableFormatInputIcebergInput.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Glue.Outputs +{ + + [OutputType] + public sealed class CatalogTableOpenTableFormatInputIcebergInput + { + /// + /// A required metadata operation. Can only be set to CREATE. + /// + public readonly string MetadataOperation; + /// + /// The table version for the Iceberg table. Defaults to 2. + /// + public readonly string? Version; + + [OutputConstructor] + private CatalogTableOpenTableFormatInputIcebergInput( + string metadataOperation, + + string? version) + { + MetadataOperation = metadataOperation; + Version = version; + } + } +} diff --git a/sdk/dotnet/Iam/GetSessionContext.cs b/sdk/dotnet/Iam/GetSessionContext.cs index 38bd53f7ff9..2a14758b13a 100644 --- a/sdk/dotnet/Iam/GetSessionContext.cs +++ b/sdk/dotnet/Iam/GetSessionContext.cs @@ -38,7 +38,7 @@ public static class GetSessionContext /// ``` /// {{% /example %}} /// {{% example %}} - /// ### Find the Provider's Source Role + /// ### Find the TODO Runner's Source Role /// /// Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. /// @@ -92,7 +92,7 @@ public static Task InvokeAsync(GetSessionContextArgs ar /// ``` /// {{% /example %}} /// {{% example %}} - /// ### Find the Provider's Source Role + /// ### Find the TODO Runner's Source Role /// /// Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. /// @@ -126,7 +126,7 @@ public sealed class GetSessionContextArgs : global::Pulumi.InvokeArgs /// /// ARN for an assumed role. /// - /// > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + /// > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. /// [Input("arn", required: true)] public string Arn { get; set; } = null!; @@ -142,7 +142,7 @@ public sealed class GetSessionContextInvokeArgs : global::Pulumi.InvokeArgs /// /// ARN for an assumed role. /// - /// > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + /// > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. /// [Input("arn", required: true)] public Input Arn { get; set; } = null!; diff --git a/sdk/dotnet/Iam/GroupPolicyAttachment.cs b/sdk/dotnet/Iam/GroupPolicyAttachment.cs index 0aabf351f5e..621af99a224 100644 --- a/sdk/dotnet/Iam/GroupPolicyAttachment.cs +++ b/sdk/dotnet/Iam/GroupPolicyAttachment.cs @@ -43,11 +43,11 @@ namespace Pulumi.Aws.Iam /// /// ## Import /// - /// Using `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - /// ``` + /// to = aws_iam_group_policy_attachment.test-attach + /// + /// id = "test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy /// [AwsResourceType("aws:iam/groupPolicyAttachment:GroupPolicyAttachment")] public partial class GroupPolicyAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Iam/RolePolicyAttachment.cs b/sdk/dotnet/Iam/RolePolicyAttachment.cs index 6c71d7403d3..1e3949513df 100644 --- a/sdk/dotnet/Iam/RolePolicyAttachment.cs +++ b/sdk/dotnet/Iam/RolePolicyAttachment.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Iam /// /// > **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined. /// - /// > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + /// > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference. /// /// ## Example Usage /// @@ -93,11 +93,11 @@ namespace Pulumi.Aws.Iam /// /// ## Import /// - /// Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - /// ``` + /// to = aws_iam_role_policy_attachment.test-attach + /// + /// id = "test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy /// [AwsResourceType("aws:iam/rolePolicyAttachment:RolePolicyAttachment")] public partial class RolePolicyAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Iam/UserPolicyAttachment.cs b/sdk/dotnet/Iam/UserPolicyAttachment.cs index 858f0cb9199..4b6f06aa1cd 100644 --- a/sdk/dotnet/Iam/UserPolicyAttachment.cs +++ b/sdk/dotnet/Iam/UserPolicyAttachment.cs @@ -43,11 +43,11 @@ namespace Pulumi.Aws.Iam /// /// ## Import /// - /// Using `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - /// ``` + /// to = aws_iam_user_policy_attachment.test-attach + /// + /// id = "test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy /// [AwsResourceType("aws:iam/userPolicyAttachment:UserPolicyAttachment")] public partial class UserPolicyAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/IdentityStore/GetGroup.cs b/sdk/dotnet/IdentityStore/GetGroup.cs index bf018cbf415..ec28cd5fdcd 100644 --- a/sdk/dotnet/IdentityStore/GetGroup.cs +++ b/sdk/dotnet/IdentityStore/GetGroup.cs @@ -28,15 +28,21 @@ public static Output Invoke(GetGroupInvokeArgs args, InvokeOptio public sealed class GetGroupArgs : global::Pulumi.InvokeArgs { /// - /// A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + /// A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. /// [Input("alternateIdentifier")] public Inputs.GetGroupAlternateIdentifierArgs? AlternateIdentifier { get; set; } + /// + /// Configuration block for filtering by a unique attribute of the group. Detailed below. + /// + [Input("filter")] + public Inputs.GetGroupFilterArgs? Filter { get; set; } + /// /// The identifier for a group in the Identity Store. /// - /// > Exactly one of the above arguments must be provided. + /// > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. /// [Input("groupId")] public string? GroupId { get; set; } @@ -58,15 +64,21 @@ public GetGroupArgs() public sealed class GetGroupInvokeArgs : global::Pulumi.InvokeArgs { /// - /// A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + /// A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. /// [Input("alternateIdentifier")] public Input? AlternateIdentifier { get; set; } + /// + /// Configuration block for filtering by a unique attribute of the group. Detailed below. + /// + [Input("filter")] + public Input? Filter { get; set; } + /// /// The identifier for a group in the Identity Store. /// - /// > Exactly one of the above arguments must be provided. + /// > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. /// [Input("groupId")] public Input? GroupId { get; set; } @@ -102,6 +114,7 @@ public sealed class GetGroupResult /// List of identifiers issued to this resource by an external identity provider. /// public readonly ImmutableArray ExternalIds; + public readonly Outputs.GetGroupFilterResult? Filter; public readonly string GroupId; /// /// The provider-assigned unique ID for this managed resource. @@ -119,6 +132,8 @@ private GetGroupResult( ImmutableArray externalIds, + Outputs.GetGroupFilterResult? filter, + string groupId, string id, @@ -129,6 +144,7 @@ private GetGroupResult( Description = description; DisplayName = displayName; ExternalIds = externalIds; + Filter = filter; GroupId = groupId; Id = id; IdentityStoreId = identityStoreId; diff --git a/sdk/dotnet/IdentityStore/GetUser.cs b/sdk/dotnet/IdentityStore/GetUser.cs index f06a0e93683..d2bcae9afec 100644 --- a/sdk/dotnet/IdentityStore/GetUser.cs +++ b/sdk/dotnet/IdentityStore/GetUser.cs @@ -28,11 +28,17 @@ public static Output Invoke(GetUserInvokeArgs args, InvokeOptions public sealed class GetUserArgs : global::Pulumi.InvokeArgs { /// - /// A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + /// A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. /// [Input("alternateIdentifier")] public Inputs.GetUserAlternateIdentifierArgs? AlternateIdentifier { get; set; } + /// + /// Configuration block for filtering by a unique attribute of the user. Detailed below. + /// + [Input("filter")] + public Inputs.GetUserFilterArgs? Filter { get; set; } + /// /// Identity Store ID associated with the Single Sign-On Instance. /// @@ -44,7 +50,7 @@ public sealed class GetUserArgs : global::Pulumi.InvokeArgs /// /// The identifier for a user in the Identity Store. /// - /// > Exactly one of the above arguments must be provided. + /// > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. /// [Input("userId")] public string? UserId { get; set; } @@ -58,11 +64,17 @@ public GetUserArgs() public sealed class GetUserInvokeArgs : global::Pulumi.InvokeArgs { /// - /// A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + /// A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. /// [Input("alternateIdentifier")] public Input? AlternateIdentifier { get; set; } + /// + /// Configuration block for filtering by a unique attribute of the user. Detailed below. + /// + [Input("filter")] + public Input? Filter { get; set; } + /// /// Identity Store ID associated with the Single Sign-On Instance. /// @@ -74,7 +86,7 @@ public sealed class GetUserInvokeArgs : global::Pulumi.InvokeArgs /// /// The identifier for a user in the Identity Store. /// - /// > Exactly one of the above arguments must be provided. + /// > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. /// [Input("userId")] public Input? UserId { get; set; } @@ -106,6 +118,7 @@ public sealed class GetUserResult /// List of identifiers issued to this resource by an external identity provider. /// public readonly ImmutableArray ExternalIds; + public readonly Outputs.GetUserFilterResult? Filter; /// /// The provider-assigned unique ID for this managed resource. /// @@ -165,6 +178,8 @@ private GetUserResult( ImmutableArray externalIds, + Outputs.GetUserFilterResult? filter, + string id, string identityStoreId, @@ -196,6 +211,7 @@ private GetUserResult( DisplayName = displayName; Emails = emails; ExternalIds = externalIds; + Filter = filter; Id = id; IdentityStoreId = identityStoreId; Locale = locale; diff --git a/sdk/dotnet/IdentityStore/Inputs/GetGroupFilter.cs b/sdk/dotnet/IdentityStore/Inputs/GetGroupFilter.cs new file mode 100644 index 00000000000..df9a933a186 --- /dev/null +++ b/sdk/dotnet/IdentityStore/Inputs/GetGroupFilter.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore.Inputs +{ + + public sealed class GetGroupFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + /// + [Input("attributePath", required: true)] + public string AttributePath { get; set; } = null!; + + /// + /// Value for an attribute. + /// + [Input("attributeValue", required: true)] + public string AttributeValue { get; set; } = null!; + + public GetGroupFilterArgs() + { + } + public static new GetGroupFilterArgs Empty => new GetGroupFilterArgs(); + } +} diff --git a/sdk/dotnet/IdentityStore/Inputs/GetGroupFilterArgs.cs b/sdk/dotnet/IdentityStore/Inputs/GetGroupFilterArgs.cs new file mode 100644 index 00000000000..a58d4608b8d --- /dev/null +++ b/sdk/dotnet/IdentityStore/Inputs/GetGroupFilterArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore.Inputs +{ + + public sealed class GetGroupFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + /// + [Input("attributePath", required: true)] + public Input AttributePath { get; set; } = null!; + + /// + /// Value for an attribute. + /// + [Input("attributeValue", required: true)] + public Input AttributeValue { get; set; } = null!; + + public GetGroupFilterInputArgs() + { + } + public static new GetGroupFilterInputArgs Empty => new GetGroupFilterInputArgs(); + } +} diff --git a/sdk/dotnet/IdentityStore/Inputs/GetUserFilter.cs b/sdk/dotnet/IdentityStore/Inputs/GetUserFilter.cs new file mode 100644 index 00000000000..589168ca823 --- /dev/null +++ b/sdk/dotnet/IdentityStore/Inputs/GetUserFilter.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore.Inputs +{ + + public sealed class GetUserFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + /// + [Input("attributePath", required: true)] + public string AttributePath { get; set; } = null!; + + /// + /// Value for an attribute. + /// + [Input("attributeValue", required: true)] + public string AttributeValue { get; set; } = null!; + + public GetUserFilterArgs() + { + } + public static new GetUserFilterArgs Empty => new GetUserFilterArgs(); + } +} diff --git a/sdk/dotnet/IdentityStore/Inputs/GetUserFilterArgs.cs b/sdk/dotnet/IdentityStore/Inputs/GetUserFilterArgs.cs new file mode 100644 index 00000000000..adb00cec480 --- /dev/null +++ b/sdk/dotnet/IdentityStore/Inputs/GetUserFilterArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore.Inputs +{ + + public sealed class GetUserFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + /// + [Input("attributePath", required: true)] + public Input AttributePath { get; set; } = null!; + + /// + /// Value for an attribute. + /// + [Input("attributeValue", required: true)] + public Input AttributeValue { get; set; } = null!; + + public GetUserFilterInputArgs() + { + } + public static new GetUserFilterInputArgs Empty => new GetUserFilterInputArgs(); + } +} diff --git a/sdk/dotnet/IdentityStore/Outputs/GetGroupFilterResult.cs b/sdk/dotnet/IdentityStore/Outputs/GetGroupFilterResult.cs new file mode 100644 index 00000000000..8a710e81107 --- /dev/null +++ b/sdk/dotnet/IdentityStore/Outputs/GetGroupFilterResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore.Outputs +{ + + [OutputType] + public sealed class GetGroupFilterResult + { + /// + /// Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + /// + public readonly string AttributePath; + /// + /// Value for an attribute. + /// + public readonly string AttributeValue; + + [OutputConstructor] + private GetGroupFilterResult( + string attributePath, + + string attributeValue) + { + AttributePath = attributePath; + AttributeValue = attributeValue; + } + } +} diff --git a/sdk/dotnet/IdentityStore/Outputs/GetUserFilterResult.cs b/sdk/dotnet/IdentityStore/Outputs/GetUserFilterResult.cs new file mode 100644 index 00000000000..5a41eefb088 --- /dev/null +++ b/sdk/dotnet/IdentityStore/Outputs/GetUserFilterResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore.Outputs +{ + + [OutputType] + public sealed class GetUserFilterResult + { + /// + /// Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + /// + public readonly string AttributePath; + /// + /// Value for an attribute. + /// + public readonly string AttributeValue; + + [OutputConstructor] + private GetUserFilterResult( + string attributePath, + + string attributeValue) + { + AttributePath = attributePath; + AttributeValue = attributeValue; + } + } +} diff --git a/sdk/dotnet/Iot/ProvisioningTemplate.cs b/sdk/dotnet/Iot/ProvisioningTemplate.cs index cd20b7969f2..978e5c63d70 100644 --- a/sdk/dotnet/Iot/ProvisioningTemplate.cs +++ b/sdk/dotnet/Iot/ProvisioningTemplate.cs @@ -87,6 +87,7 @@ namespace Pulumi.Aws.Iot /// { /// Description = "My provisioning template", /// ProvisioningRoleArn = iotFleetProvisioning.Arn, + /// Enabled = true, /// TemplateBody = devicePolicyPolicy.Name.Apply(name => JsonSerializer.Serialize(new Dictionary<string, object?> /// { /// ["Parameters"] = new Dictionary<string, object?> diff --git a/sdk/dotnet/Lambda/GetFunctionUrl.cs b/sdk/dotnet/Lambda/GetFunctionUrl.cs index b4489c499ea..e0114516d57 100644 --- a/sdk/dotnet/Lambda/GetFunctionUrl.cs +++ b/sdk/dotnet/Lambda/GetFunctionUrl.cs @@ -76,7 +76,7 @@ public static Output Invoke(GetFunctionUrlInvokeArgs args, public sealed class GetFunctionUrlArgs : global::Pulumi.InvokeArgs { /// - /// he name (or ARN) of the Lambda function. + /// The name (or ARN) of the Lambda function. /// [Input("functionName", required: true)] public string FunctionName { get; set; } = null!; @@ -96,7 +96,7 @@ public GetFunctionUrlArgs() public sealed class GetFunctionUrlInvokeArgs : global::Pulumi.InvokeArgs { /// - /// he name (or ARN) of the Lambda function. + /// The name (or ARN) of the Lambda function. /// [Input("functionName", required: true)] public Input FunctionName { get; set; } = null!; diff --git a/sdk/dotnet/LicenseManager/Association.cs b/sdk/dotnet/LicenseManager/Association.cs index 7231936a7f9..3fb659680b5 100644 --- a/sdk/dotnet/LicenseManager/Association.cs +++ b/sdk/dotnet/LicenseManager/Association.cs @@ -66,11 +66,11 @@ namespace Pulumi.Aws.LicenseManager /// /// ## Import /// - /// Using `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - /// ``` + /// to = aws_licensemanager_association.example + /// + /// id = "arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef /// [AwsResourceType("aws:licensemanager/association:Association")] public partial class Association : global::Pulumi.CustomResource diff --git a/sdk/dotnet/LicenseManager/LicenseConfiguration.cs b/sdk/dotnet/LicenseManager/LicenseConfiguration.cs index 7ccf9de82ad..c7a22f0610b 100644 --- a/sdk/dotnet/LicenseManager/LicenseConfiguration.cs +++ b/sdk/dotnet/LicenseManager/LicenseConfiguration.cs @@ -12,7 +12,7 @@ namespace Pulumi.Aws.LicenseManager /// /// Provides a License Manager license configuration resource. /// - /// > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - recreate the resource instead. + /// > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.<id>` to recreate the resource instead. /// /// ## Example Usage /// @@ -56,11 +56,11 @@ namespace Pulumi.Aws.LicenseManager /// /// ## Import /// - /// Using `pulumi import`, import license configurations using the `id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - /// ``` + /// to = aws_licensemanager_license_configuration.example + /// + /// id = "arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef /// [AwsResourceType("aws:licensemanager/licenseConfiguration:LicenseConfiguration")] public partial class LicenseConfiguration : global::Pulumi.CustomResource @@ -114,7 +114,7 @@ public partial class LicenseConfiguration : global::Pulumi.CustomResource public Output OwnerAccountId { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -217,7 +217,7 @@ public InputList LicenseRules private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -291,7 +291,7 @@ public InputList LicenseRules private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.cs index 3d378a540f8..5395f2ad40a 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.cs @@ -46,7 +46,7 @@ public sealed class ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs : public Input? RtmpOutputSettings { get; set; } /// - /// UDP output settings. See UDP Output Settings for more details + /// UDP output settings. See UDP Output Settings for more details. /// [Input("udpOutputSettings")] public Input? UdpOutputSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsGetArgs.cs index 67bac013e17..82b1d067c0a 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsGetArgs.cs @@ -46,7 +46,7 @@ public sealed class ChannelEncoderSettingsOutputGroupOutputOutputSettingsGetArgs public Input? RtmpOutputSettings { get; set; } /// - /// UDP output settings. See UDP Output Settings for more details + /// UDP output settings. See UDP Output Settings for more details. /// [Input("udpOutputSettings")] public Input? UdpOutputSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentArgs.cs index 26aa2b31f7b..ee1fea3e655 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentArgs : global::Pulumi.ResourceArgs { + /// + /// User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + /// [Input("automaticInputFailoverSettings")] public Input? AutomaticInputFailoverSettings { get; set; } @@ -28,7 +31,7 @@ public sealed class ChannelInputAttachmentArgs : global::Pulumi.ResourceArgs public Input InputId { get; set; } = null!; /// - /// Settings of an input. See Input Settings for more details + /// Settings of an input. See Input Settings for more details. /// [Input("inputSettings")] public Input? InputSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsArgs.cs index dcc0628e755..8ea48b97e68 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + /// [Input("errorClearTimeMsec")] public Input? ErrorClearTimeMsec { get; set; } @@ -23,9 +26,15 @@ public InputList _failoverConditions = value; } + /// + /// Input preference when deciding which input to make active when a previously failed input has recovered. + /// [Input("inputPreference")] public Input? InputPreference { get; set; } + /// + /// The input ID of the secondary input in the automatic input failover pair. + /// [Input("secondaryInputId", required: true)] public Input SecondaryInputId { get; set; } = null!; diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.cs index 601757b5292..49a49ca83f9 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs : global::Pulumi.ResourceArgs { + /// + /// Failover condition type-specific settings. See Failover Condition Settings for more details. + /// [Input("failoverConditionSettings")] public Input? FailoverConditionSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.cs index 25390a9eafd..ae2b8b867ef 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + /// [Input("audioSilenceSettings")] public Input? AudioSilenceSettings { get; set; } + /// + /// MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + /// [Input("inputLossSettings")] public Input? InputLossSettings { get; set; } + /// + /// MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + /// [Input("videoBlackSettings")] public Input? VideoBlackSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.cs index 13ed855c45b..fbd944005a8 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.cs @@ -13,11 +13,14 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs : global::Pulumi.ResourceArgs { /// - /// The name of the audio selector used as the source for this AudioDescription. + /// The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. /// [Input("audioSelectorName", required: true)] public Input AudioSelectorName { get; set; } = null!; + /// + /// The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + /// [Input("audioSilenceThresholdMsec")] public Input? AudioSilenceThresholdMsec { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsGetArgs.cs index cc777e32385..6f8cccab5d7 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsGetArgs.cs @@ -13,11 +13,14 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsGetArgs : global::Pulumi.ResourceArgs { /// - /// The name of the audio selector used as the source for this AudioDescription. + /// The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. /// [Input("audioSelectorName", required: true)] public Input AudioSelectorName { get; set; } = null!; + /// + /// The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + /// [Input("audioSilenceThresholdMsec")] public Input? AudioSilenceThresholdMsec { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsGetArgs.cs index 800c3e4694d..ac535b3eead 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsGetArgs.cs @@ -12,12 +12,21 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + /// [Input("audioSilenceSettings")] public Input? AudioSilenceSettings { get; set; } + /// + /// MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + /// [Input("inputLossSettings")] public Input? InputLossSettings { get; set; } + /// + /// MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + /// [Input("videoBlackSettings")] public Input? VideoBlackSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.cs index c9d4642f841..b99f5aec094 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + /// [Input("inputLossThresholdMsec")] public Input? InputLossThresholdMsec { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsGetArgs.cs index bb51a7f5309..ef830b09f80 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + /// [Input("inputLossThresholdMsec")] public Input? InputLossThresholdMsec { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.cs index a0ac03d9fd1..e8e06a9bcec 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs : global::Pulumi.ResourceArgs { + /// + /// A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + /// [Input("blackDetectThreshold")] public Input? BlackDetectThreshold { get; set; } + /// + /// The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + /// [Input("videoBlackThresholdMsec")] public Input? VideoBlackThresholdMsec { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsGetArgs.cs index cf82ea94ea2..565513b70bc 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsGetArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + /// [Input("blackDetectThreshold")] public Input? BlackDetectThreshold { get; set; } + /// + /// The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + /// [Input("videoBlackThresholdMsec")] public Input? VideoBlackThresholdMsec { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionGetArgs.cs index 1a83b6c6d0d..9d7ac665456 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionGetArgs : global::Pulumi.ResourceArgs { + /// + /// Failover condition type-specific settings. See Failover Condition Settings for more details. + /// [Input("failoverConditionSettings")] public Input? FailoverConditionSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsGetArgs.cs index e4686b4c8a1..4a07d99843f 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsGetArgs : global::Pulumi.ResourceArgs { + /// + /// This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + /// [Input("errorClearTimeMsec")] public Input? ErrorClearTimeMsec { get; set; } @@ -23,9 +26,15 @@ public InputList _failoverConditions = value; } + /// + /// Input preference when deciding which input to make active when a previously failed input has recovered. + /// [Input("inputPreference")] public Input? InputPreference { get; set; } + /// + /// The input ID of the secondary input in the automatic input failover pair. + /// [Input("secondaryInputId", required: true)] public Input SecondaryInputId { get; set; } = null!; diff --git a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentGetArgs.cs b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentGetArgs.cs index 374117066c3..ba99b248477 100644 --- a/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentGetArgs.cs +++ b/sdk/dotnet/MediaLive/Inputs/ChannelInputAttachmentGetArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.Aws.MediaLive.Inputs public sealed class ChannelInputAttachmentGetArgs : global::Pulumi.ResourceArgs { + /// + /// User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + /// [Input("automaticInputFailoverSettings")] public Input? AutomaticInputFailoverSettings { get; set; } @@ -28,7 +31,7 @@ public sealed class ChannelInputAttachmentGetArgs : global::Pulumi.ResourceArgs public Input InputId { get; set; } = null!; /// - /// Settings of an input. See Input Settings for more details + /// Settings of an input. See Input Settings for more details. /// [Input("inputSettings")] public Input? InputSettings { get; set; } diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.cs b/sdk/dotnet/MediaLive/Outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.cs index d1ca612b090..c58053afbf4 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.cs @@ -33,7 +33,7 @@ public sealed class ChannelEncoderSettingsOutputGroupOutputOutputSettings /// public readonly Outputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettings? RtmpOutputSettings; /// - /// UDP output settings. See UDP Output Settings for more details + /// UDP output settings. See UDP Output Settings for more details. /// public readonly Outputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings? UdpOutputSettings; diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachment.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachment.cs index 6d25d92460f..7eff25b91be 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachment.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachment.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.MediaLive.Outputs [OutputType] public sealed class ChannelInputAttachment { + /// + /// User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + /// public readonly Outputs.ChannelInputAttachmentAutomaticInputFailoverSettings? AutomaticInputFailoverSettings; /// /// User-specified name for the attachment. @@ -23,7 +26,7 @@ public sealed class ChannelInputAttachment /// public readonly string InputId; /// - /// Settings of an input. See Input Settings for more details + /// Settings of an input. See Input Settings for more details. /// public readonly Outputs.ChannelInputAttachmentInputSettings? InputSettings; diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.cs index 335770f54f2..a1fe9e582ef 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.cs @@ -13,9 +13,18 @@ namespace Pulumi.Aws.MediaLive.Outputs [OutputType] public sealed class ChannelInputAttachmentAutomaticInputFailoverSettings { + /// + /// This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + /// public readonly int? ErrorClearTimeMsec; public readonly ImmutableArray FailoverConditions; + /// + /// Input preference when deciding which input to make active when a previously failed input has recovered. + /// public readonly string? InputPreference; + /// + /// The input ID of the secondary input in the automatic input failover pair. + /// public readonly string SecondaryInputId; [OutputConstructor] diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.cs index 8438b315a69..6b4fd2498e9 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.MediaLive.Outputs [OutputType] public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition { + /// + /// Failover condition type-specific settings. See Failover Condition Settings for more details. + /// public readonly Outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings? FailoverConditionSettings; [OutputConstructor] diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.cs index 8d63e4e39c6..1dbce6368ed 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.cs @@ -13,8 +13,17 @@ namespace Pulumi.Aws.MediaLive.Outputs [OutputType] public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings { + /// + /// MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + /// public readonly Outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings? AudioSilenceSettings; + /// + /// MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + /// public readonly Outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings? InputLossSettings; + /// + /// MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + /// public readonly Outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings? VideoBlackSettings; [OutputConstructor] diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.cs index 421c48b9ee6..b395cde731f 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.cs @@ -14,9 +14,12 @@ namespace Pulumi.Aws.MediaLive.Outputs public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings { /// - /// The name of the audio selector used as the source for this AudioDescription. + /// The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. /// public readonly string AudioSelectorName; + /// + /// The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + /// public readonly int? AudioSilenceThresholdMsec; [OutputConstructor] diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.cs index b04e497ae32..9f679dc0539 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.cs @@ -13,6 +13,9 @@ namespace Pulumi.Aws.MediaLive.Outputs [OutputType] public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings { + /// + /// The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + /// public readonly int? InputLossThresholdMsec; [OutputConstructor] diff --git a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.cs b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.cs index e314a5a130e..25d872e864f 100644 --- a/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.cs +++ b/sdk/dotnet/MediaLive/Outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.cs @@ -13,7 +13,13 @@ namespace Pulumi.Aws.MediaLive.Outputs [OutputType] public sealed class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings { + /// + /// A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + /// public readonly double? BlackDetectThreshold; + /// + /// The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + /// public readonly int? VideoBlackThresholdMsec; [OutputConstructor] diff --git a/sdk/dotnet/OpenSearch/Domain.cs b/sdk/dotnet/OpenSearch/Domain.cs index bc25cb85294..230b02fbe2a 100644 --- a/sdk/dotnet/OpenSearch/Domain.cs +++ b/sdk/dotnet/OpenSearch/Domain.cs @@ -565,6 +565,12 @@ public partial class Domain : global::Pulumi.CustomResource [Output("snapshotOptions")] public Output SnapshotOptions { get; private set; } = null!; + /// + /// Software update options for the domain. Detailed below. + /// + [Output("softwareUpdateOptions")] + public Output SoftwareUpdateOptions { get; private set; } = null!; + /// /// Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// @@ -737,6 +743,12 @@ public InputList LogPublishingOptions [Input("snapshotOptions")] public Input? SnapshotOptions { get; set; } + /// + /// Software update options for the domain. Detailed below. + /// + [Input("softwareUpdateOptions")] + public Input? SoftwareUpdateOptions { get; set; } + [Input("tags")] private InputMap? _tags; @@ -899,6 +911,12 @@ public InputList LogPublishingOptions [Input("snapshotOptions")] public Input? SnapshotOptions { get; set; } + /// + /// Software update options for the domain. Detailed below. + /// + [Input("softwareUpdateOptions")] + public Input? SoftwareUpdateOptions { get; set; } + [Input("tags")] private InputMap? _tags; diff --git a/sdk/dotnet/OpenSearch/GetDomain.cs b/sdk/dotnet/OpenSearch/GetDomain.cs index 525f93a7854..21d513caeb1 100644 --- a/sdk/dotnet/OpenSearch/GetDomain.cs +++ b/sdk/dotnet/OpenSearch/GetDomain.cs @@ -227,6 +227,10 @@ public sealed class GetDomainResult /// public readonly ImmutableArray SnapshotOptions; /// + /// Software update options for the domain + /// + public readonly ImmutableArray SoftwareUpdateOptions; + /// /// Tags assigned to the domain. /// public readonly ImmutableDictionary Tags; @@ -283,6 +287,8 @@ private GetDomainResult( ImmutableArray snapshotOptions, + ImmutableArray softwareUpdateOptions, + ImmutableDictionary tags, ImmutableArray vpcOptions) @@ -310,6 +316,7 @@ private GetDomainResult( OffPeakWindowOptions = offPeakWindowOptions; Processing = processing; SnapshotOptions = snapshotOptions; + SoftwareUpdateOptions = softwareUpdateOptions; Tags = tags; VpcOptions = vpcOptions; } diff --git a/sdk/dotnet/OpenSearch/Inputs/DomainSoftwareUpdateOptionsArgs.cs b/sdk/dotnet/OpenSearch/Inputs/DomainSoftwareUpdateOptionsArgs.cs new file mode 100644 index 00000000000..b877beb4a3a --- /dev/null +++ b/sdk/dotnet/OpenSearch/Inputs/DomainSoftwareUpdateOptionsArgs.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.OpenSearch.Inputs +{ + + public sealed class DomainSoftwareUpdateOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether automatic service software updates are enabled for the domain. Defaults to `false`. + /// + [Input("autoSoftwareUpdateEnabled")] + public Input? AutoSoftwareUpdateEnabled { get; set; } + + public DomainSoftwareUpdateOptionsArgs() + { + } + public static new DomainSoftwareUpdateOptionsArgs Empty => new DomainSoftwareUpdateOptionsArgs(); + } +} diff --git a/sdk/dotnet/OpenSearch/Inputs/DomainSoftwareUpdateOptionsGetArgs.cs b/sdk/dotnet/OpenSearch/Inputs/DomainSoftwareUpdateOptionsGetArgs.cs new file mode 100644 index 00000000000..20a508a8318 --- /dev/null +++ b/sdk/dotnet/OpenSearch/Inputs/DomainSoftwareUpdateOptionsGetArgs.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.OpenSearch.Inputs +{ + + public sealed class DomainSoftwareUpdateOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether automatic service software updates are enabled for the domain. Defaults to `false`. + /// + [Input("autoSoftwareUpdateEnabled")] + public Input? AutoSoftwareUpdateEnabled { get; set; } + + public DomainSoftwareUpdateOptionsGetArgs() + { + } + public static new DomainSoftwareUpdateOptionsGetArgs Empty => new DomainSoftwareUpdateOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/OpenSearch/Outputs/DomainSoftwareUpdateOptions.cs b/sdk/dotnet/OpenSearch/Outputs/DomainSoftwareUpdateOptions.cs new file mode 100644 index 00000000000..d4028a20ff2 --- /dev/null +++ b/sdk/dotnet/OpenSearch/Outputs/DomainSoftwareUpdateOptions.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.OpenSearch.Outputs +{ + + [OutputType] + public sealed class DomainSoftwareUpdateOptions + { + /// + /// Whether automatic service software updates are enabled for the domain. Defaults to `false`. + /// + public readonly bool? AutoSoftwareUpdateEnabled; + + [OutputConstructor] + private DomainSoftwareUpdateOptions(bool? autoSoftwareUpdateEnabled) + { + AutoSoftwareUpdateEnabled = autoSoftwareUpdateEnabled; + } + } +} diff --git a/sdk/dotnet/OpenSearch/Outputs/GetDomainSoftwareUpdateOptionResult.cs b/sdk/dotnet/OpenSearch/Outputs/GetDomainSoftwareUpdateOptionResult.cs new file mode 100644 index 00000000000..f3c63064264 --- /dev/null +++ b/sdk/dotnet/OpenSearch/Outputs/GetDomainSoftwareUpdateOptionResult.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.OpenSearch.Outputs +{ + + [OutputType] + public sealed class GetDomainSoftwareUpdateOptionResult + { + /// + /// Enabled or disabled. + /// + public readonly bool AutoSoftwareUpdateEnabled; + + [OutputConstructor] + private GetDomainSoftwareUpdateOptionResult(bool autoSoftwareUpdateEnabled) + { + AutoSoftwareUpdateEnabled = autoSoftwareUpdateEnabled; + } + } +} diff --git a/sdk/dotnet/Pinpoint/AdmChannel.cs b/sdk/dotnet/Pinpoint/AdmChannel.cs index 9580b3a8d5c..5b4d3664d32 100644 --- a/sdk/dotnet/Pinpoint/AdmChannel.cs +++ b/sdk/dotnet/Pinpoint/AdmChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource. /// + /// > **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -37,11 +38,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id - /// ``` + /// to = aws_pinpoint_adm_channel.channel + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id /// [AwsResourceType("aws:pinpoint/admChannel:AdmChannel")] public partial class AdmChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/ApnsChannel.cs b/sdk/dotnet/Pinpoint/ApnsChannel.cs index 4631fc3dfd0..5d75e33b0ad 100644 --- a/sdk/dotnet/Pinpoint/ApnsChannel.cs +++ b/sdk/dotnet/Pinpoint/ApnsChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint APNs Channel resource. /// + /// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -37,11 +38,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id - /// ``` + /// to = aws_pinpoint_apns_channel.apns + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id /// [AwsResourceType("aws:pinpoint/apnsChannel:ApnsChannel")] public partial class ApnsChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/ApnsSandboxChannel.cs b/sdk/dotnet/Pinpoint/ApnsSandboxChannel.cs index 5c6528b1079..f589b2032db 100644 --- a/sdk/dotnet/Pinpoint/ApnsSandboxChannel.cs +++ b/sdk/dotnet/Pinpoint/ApnsSandboxChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint APNs Sandbox Channel resource. /// + /// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -37,11 +38,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id - /// ``` + /// to = aws_pinpoint_apns_sandbox_channel.apns_sandbox + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id /// [AwsResourceType("aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel")] public partial class ApnsSandboxChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/ApnsVoipChannel.cs b/sdk/dotnet/Pinpoint/ApnsVoipChannel.cs index f601374b3d5..a80577c7b9e 100644 --- a/sdk/dotnet/Pinpoint/ApnsVoipChannel.cs +++ b/sdk/dotnet/Pinpoint/ApnsVoipChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint APNs VoIP Channel resource. /// + /// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -37,11 +38,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id - /// ``` + /// to = aws_pinpoint_apns_voip_channel.apns_voip + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id /// [AwsResourceType("aws:pinpoint/apnsVoipChannel:ApnsVoipChannel")] public partial class ApnsVoipChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/ApnsVoipSandboxChannel.cs b/sdk/dotnet/Pinpoint/ApnsVoipSandboxChannel.cs index db944019d52..12af5d33cf7 100644 --- a/sdk/dotnet/Pinpoint/ApnsVoipSandboxChannel.cs +++ b/sdk/dotnet/Pinpoint/ApnsVoipSandboxChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint APNs VoIP Sandbox Channel resource. /// + /// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -37,11 +38,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id - /// ``` + /// to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id /// [AwsResourceType("aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel")] public partial class ApnsVoipSandboxChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/App.cs b/sdk/dotnet/Pinpoint/App.cs index 516cb4841f8..279bcda34a4 100644 --- a/sdk/dotnet/Pinpoint/App.cs +++ b/sdk/dotnet/Pinpoint/App.cs @@ -40,11 +40,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint App using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/app:App name application-id - /// ``` + /// to = aws_pinpoint_app.name + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id /// [AwsResourceType("aws:pinpoint/app:App")] public partial class App : global::Pulumi.CustomResource @@ -74,7 +74,7 @@ public partial class App : global::Pulumi.CustomResource public Output Limits { get; private set; } = null!; /// - /// The application name. By default generated by this provider + /// The application name. By default generated by TODO /// [Output("name")] public Output Name { get; private set; } = null!; @@ -92,7 +92,7 @@ public partial class App : global::Pulumi.CustomResource public Output QuietTime { 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. + /// 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!; @@ -162,7 +162,7 @@ public sealed class AppArgs : global::Pulumi.ResourceArgs public Input? Limits { get; set; } /// - /// The application name. By default generated by this provider + /// The application name. By default generated by TODO /// [Input("name")] public Input? Name { get; set; } @@ -183,7 +183,7 @@ public sealed class AppArgs : global::Pulumi.ResourceArgs 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. + /// 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 { @@ -224,7 +224,7 @@ public sealed class AppState : global::Pulumi.ResourceArgs public Input? Limits { get; set; } /// - /// The application name. By default generated by this provider + /// The application name. By default generated by TODO /// [Input("name")] public Input? Name { get; set; } @@ -245,7 +245,7 @@ public sealed class AppState : global::Pulumi.ResourceArgs 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. + /// 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 { diff --git a/sdk/dotnet/Pinpoint/BaiduChannel.cs b/sdk/dotnet/Pinpoint/BaiduChannel.cs index 71d22474884..c6a2929e3e3 100644 --- a/sdk/dotnet/Pinpoint/BaiduChannel.cs +++ b/sdk/dotnet/Pinpoint/BaiduChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint Baidu Channel resource. /// + /// > **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -36,11 +37,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id - /// ``` + /// to = aws_pinpoint_baidu_channel.channel + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id /// [AwsResourceType("aws:pinpoint/baiduChannel:BaiduChannel")] public partial class BaiduChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/EmailChannel.cs b/sdk/dotnet/Pinpoint/EmailChannel.cs index 9fa5dd02224..5a7e1530baf 100644 --- a/sdk/dotnet/Pinpoint/EmailChannel.cs +++ b/sdk/dotnet/Pinpoint/EmailChannel.cs @@ -98,11 +98,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id - /// ``` + /// to = aws_pinpoint_email_channel.email + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id /// [AwsResourceType("aws:pinpoint/emailChannel:EmailChannel")] public partial class EmailChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/EventStream.cs b/sdk/dotnet/Pinpoint/EventStream.cs index 58c5f563a66..741c39fe94c 100644 --- a/sdk/dotnet/Pinpoint/EventStream.cs +++ b/sdk/dotnet/Pinpoint/EventStream.cs @@ -98,11 +98,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id - /// ``` + /// to = aws_pinpoint_event_stream.stream + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id /// [AwsResourceType("aws:pinpoint/eventStream:EventStream")] public partial class EventStream : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/GcmChannel.cs b/sdk/dotnet/Pinpoint/GcmChannel.cs index b6fe3529a8f..47b9f56736d 100644 --- a/sdk/dotnet/Pinpoint/GcmChannel.cs +++ b/sdk/dotnet/Pinpoint/GcmChannel.cs @@ -12,6 +12,7 @@ namespace Pulumi.Aws.Pinpoint /// /// Provides a Pinpoint GCM Channel resource. /// + /// > **Note:** Api Key argument will be stored in the raw state as plain-text. /// ## Example Usage /// /// ```csharp @@ -35,11 +36,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id - /// ``` + /// to = aws_pinpoint_gcm_channel.gcm + /// + /// id = "application-id" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id /// [AwsResourceType("aws:pinpoint/gcmChannel:GcmChannel")] public partial class GcmChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Pinpoint/SmsChannel.cs b/sdk/dotnet/Pinpoint/SmsChannel.cs index 3d2ecdf568b..438c02fb16f 100644 --- a/sdk/dotnet/Pinpoint/SmsChannel.cs +++ b/sdk/dotnet/Pinpoint/SmsChannel.cs @@ -34,11 +34,11 @@ namespace Pulumi.Aws.Pinpoint /// /// ## Import /// - /// Using `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id - /// ``` + /// to = aws_pinpoint_sms_channel.sms + /// + /// id = "application-id" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id /// [AwsResourceType("aws:pinpoint/smsChannel:SmsChannel")] public partial class SmsChannel : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ram/PrincipalAssociation.cs b/sdk/dotnet/Ram/PrincipalAssociation.cs index 658e2c41524..256e08cefea 100644 --- a/sdk/dotnet/Ram/PrincipalAssociation.cs +++ b/sdk/dotnet/Ram/PrincipalAssociation.cs @@ -67,11 +67,11 @@ namespace Pulumi.Aws.Ram /// /// ## Import /// - /// Using `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example: + /// In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 - /// ``` + /// to = aws_ram_principal_association.example + /// + /// id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 /// [AwsResourceType("aws:ram/principalAssociation:PrincipalAssociation")] public partial class PrincipalAssociation : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ram/ResourceShare.cs b/sdk/dotnet/Ram/ResourceShare.cs index 5696d871bd0..6fa8ae2e68f 100644 --- a/sdk/dotnet/Ram/ResourceShare.cs +++ b/sdk/dotnet/Ram/ResourceShare.cs @@ -36,11 +36,11 @@ namespace Pulumi.Aws.Ram /// /// ## Import /// - /// Using `pulumi import`, import resource shares using the `arn` of the resource share. For example: + /// In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 - /// ``` + /// to = aws_ram_resource_share.example + /// + /// id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 /// [AwsResourceType("aws:ram/resourceShare:ResourceShare")] public partial class ResourceShare : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ram/ResourceShareAccepter.cs b/sdk/dotnet/Ram/ResourceShareAccepter.cs index ea156aa7ec9..0da015e6af9 100644 --- a/sdk/dotnet/Ram/ResourceShareAccepter.cs +++ b/sdk/dotnet/Ram/ResourceShareAccepter.cs @@ -16,7 +16,7 @@ namespace Pulumi.Aws.Ram /// /// ## Example Usage /// - /// This configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`. + /// This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`. /// /// ```csharp /// using System.Collections.Generic; @@ -64,11 +64,11 @@ namespace Pulumi.Aws.Ram /// /// ## Import /// - /// Using `pulumi import`, import resource share accepters using the resource share ARN. For example: + /// In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 - /// ``` + /// to = aws_ram_resource_share_accepter.example + /// + /// id = "arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 /// [AwsResourceType("aws:ram/resourceShareAccepter:ResourceShareAccepter")] public partial class ResourceShareAccepter : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Rds/ClusterParameterGroup.cs b/sdk/dotnet/Rds/ClusterParameterGroup.cs index 9cd6774d089..cb48f336848 100644 --- a/sdk/dotnet/Rds/ClusterParameterGroup.cs +++ b/sdk/dotnet/Rds/ClusterParameterGroup.cs @@ -49,11 +49,11 @@ namespace Pulumi.Aws.Rds /// /// ## Import /// - /// Using `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1 - /// ``` + /// to = aws_rds_cluster_parameter_group.cluster_pg + /// + /// id = "production-pg-1" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 /// [AwsResourceType("aws:rds/clusterParameterGroup:ClusterParameterGroup")] public partial class ClusterParameterGroup : global::Pulumi.CustomResource @@ -65,7 +65,7 @@ public partial class ClusterParameterGroup : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + /// The description of the DB cluster parameter group. Defaults to "Managed by TODO". /// [Output("description")] public Output Description { get; private set; } = null!; @@ -95,7 +95,7 @@ public partial class ClusterParameterGroup : global::Pulumi.CustomResource public Output> Parameters { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -153,7 +153,7 @@ public static ClusterParameterGroup Get(string name, Input id, ClusterPa public sealed class ClusterParameterGroupArgs : global::Pulumi.ResourceArgs { /// - /// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + /// The description of the DB cluster parameter group. Defaults to "Managed by TODO". /// [Input("description")] public Input? Description { get; set; } @@ -192,7 +192,7 @@ public InputList Parameters private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -216,7 +216,7 @@ public sealed class ClusterParameterGroupState : global::Pulumi.ResourceArgs public Input? Arn { get; set; } /// - /// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + /// The description of the DB cluster parameter group. Defaults to "Managed by TODO". /// [Input("description")] public Input? Description { get; set; } @@ -255,7 +255,7 @@ public InputList Parameters private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/Rds/InstanceAutomatedBackupsReplication.cs b/sdk/dotnet/Rds/InstanceAutomatedBackupsReplication.cs index aefae448bc8..0bb7a5a542e 100644 --- a/sdk/dotnet/Rds/InstanceAutomatedBackupsReplication.cs +++ b/sdk/dotnet/Rds/InstanceAutomatedBackupsReplication.cs @@ -105,11 +105,11 @@ namespace Pulumi.Aws.Rds /// /// ## Import /// - /// Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my - /// ``` + /// to = aws_db_instance_automated_backups_replication.default + /// + /// id = "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my /// [AwsResourceType("aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication")] public partial class InstanceAutomatedBackupsReplication : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Route53/ResolverFirewallConfig.cs b/sdk/dotnet/Route53/ResolverFirewallConfig.cs index d584357a6eb..a23879cd12c 100644 --- a/sdk/dotnet/Route53/ResolverFirewallConfig.cs +++ b/sdk/dotnet/Route53/ResolverFirewallConfig.cs @@ -40,11 +40,11 @@ namespace Pulumi.Aws.Route53 /// /// ## Import /// - /// Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95 - /// ``` + /// to = aws_route53_resolver_firewall_config.example + /// + /// id = "rdsc-be1866ecc1683e95" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 /// [AwsResourceType("aws:route53/resolverFirewallConfig:ResolverFirewallConfig")] public partial class ResolverFirewallConfig : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Route53/ResolverFirewallDomainList.cs b/sdk/dotnet/Route53/ResolverFirewallDomainList.cs index 070f1ce420f..eddd667b7bd 100644 --- a/sdk/dotnet/Route53/ResolverFirewallDomainList.cs +++ b/sdk/dotnet/Route53/ResolverFirewallDomainList.cs @@ -29,13 +29,15 @@ namespace Pulumi.Aws.Route53 /// /// ## Import /// - /// Using `pulumi import`, import + /// In TODO v1.5.0 and later, use an `import` block to import /// - /// Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example: + /// Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef - /// ``` + /// to = aws_route53_resolver_firewall_domain_list.example + /// + /// id = "rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + /// + /// Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef /// [AwsResourceType("aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList")] public partial class ResolverFirewallDomainList : global::Pulumi.CustomResource @@ -59,7 +61,7 @@ public partial class ResolverFirewallDomainList : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. f 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!; @@ -138,7 +140,7 @@ public InputList Domains private InputMap? _tags; /// - /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -182,7 +184,7 @@ public InputList Domains private InputMap? _tags; /// - /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/Route53/ResolverFirewallRule.cs b/sdk/dotnet/Route53/ResolverFirewallRule.cs index 5e687b4ecd6..6745dd34e63 100644 --- a/sdk/dotnet/Route53/ResolverFirewallRule.cs +++ b/sdk/dotnet/Route53/ResolverFirewallRule.cs @@ -53,13 +53,15 @@ namespace Pulumi.Aws.Route53 /// /// ## Import /// - /// Using `pulumi import`, import + /// In TODO v1.5.0 and later, use an `import` block to import /// - /// Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example: + /// Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef - /// ``` + /// to = aws_route53_resolver_firewall_rule.example + /// + /// id = "rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + /// + /// Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef /// [AwsResourceType("aws:route53/resolverFirewallRule:ResolverFirewallRule")] public partial class ResolverFirewallRule : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Route53/ResolverFirewallRuleGroup.cs b/sdk/dotnet/Route53/ResolverFirewallRuleGroup.cs index 687c1b4b8e8..604c9781845 100644 --- a/sdk/dotnet/Route53/ResolverFirewallRuleGroup.cs +++ b/sdk/dotnet/Route53/ResolverFirewallRuleGroup.cs @@ -29,13 +29,15 @@ namespace Pulumi.Aws.Route53 /// /// ## Import /// - /// Using `pulumi import`, import + /// In TODO v1.5.0 and later, use an `import` block to import /// - /// Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example: + /// Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef - /// ``` + /// to = aws_route53_resolver_firewall_rule_group.example + /// + /// id = "rslvr-frg-0123456789abcdef" } Using `TODO import`, import + /// + /// Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef /// [AwsResourceType("aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup")] public partial class ResolverFirewallRuleGroup : global::Pulumi.CustomResource @@ -65,7 +67,7 @@ public partial class ResolverFirewallRuleGroup : global::Pulumi.CustomResource public Output ShareStatus { get; private set; } = null!; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -132,7 +134,7 @@ public sealed class ResolverFirewallRuleGroupArgs : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { @@ -176,7 +178,7 @@ public sealed class ResolverFirewallRuleGroupState : global::Pulumi.ResourceArgs private InputMap? _tags; /// - /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// public InputMap Tags { diff --git a/sdk/dotnet/Route53/ResolverFirewallRuleGroupAssociation.cs b/sdk/dotnet/Route53/ResolverFirewallRuleGroupAssociation.cs index 27d7a4a5fb1..56eb5da6114 100644 --- a/sdk/dotnet/Route53/ResolverFirewallRuleGroupAssociation.cs +++ b/sdk/dotnet/Route53/ResolverFirewallRuleGroupAssociation.cs @@ -36,11 +36,11 @@ namespace Pulumi.Aws.Route53 /// /// ## Import /// - /// Using `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef - /// ``` + /// to = aws_route53_resolver_firewall_rule_group_association.example + /// + /// id = "rslvr-frgassoc-0123456789abcdef" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef /// [AwsResourceType("aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation")] public partial class ResolverFirewallRuleGroupAssociation : global::Pulumi.CustomResource @@ -76,7 +76,7 @@ public partial class ResolverFirewallRuleGroupAssociation : global::Pulumi.Custo public Output Priority { 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. + /// 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!; @@ -167,7 +167,7 @@ public sealed class ResolverFirewallRuleGroupAssociationArgs : global::Pulumi.Re 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. + /// 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 { @@ -223,7 +223,7 @@ public sealed class ResolverFirewallRuleGroupAssociationState : global::Pulumi.R 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. + /// 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 { diff --git a/sdk/dotnet/S3/GetObjects.cs b/sdk/dotnet/S3/GetObjects.cs index fb557ca4f50..e072ad84d25 100644 --- a/sdk/dotnet/S3/GetObjects.cs +++ b/sdk/dotnet/S3/GetObjects.cs @@ -67,6 +67,12 @@ public sealed class GetObjectsArgs : global::Pulumi.InvokeArgs [Input("prefix")] public string? Prefix { get; set; } + /// + /// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + /// + [Input("requestPayer")] + public string? RequestPayer { get; set; } + /// /// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) /// @@ -117,6 +123,12 @@ public sealed class GetObjectsInvokeArgs : global::Pulumi.InvokeArgs [Input("prefix")] public Input? Prefix { get; set; } + /// + /// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + /// + [Input("requestPayer")] + public Input? RequestPayer { get; set; } + /// /// Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) /// @@ -155,6 +167,11 @@ public sealed class GetObjectsResult /// public readonly ImmutableArray Owners; public readonly string? Prefix; + /// + /// If present, indicates that the requester was successfully charged for the request. + /// + public readonly string RequestCharged; + public readonly string? RequestPayer; public readonly string? StartAfter; [OutputConstructor] @@ -179,6 +196,10 @@ private GetObjectsResult( string? prefix, + string requestCharged, + + string? requestPayer, + string? startAfter) { Bucket = bucket; @@ -191,6 +212,8 @@ private GetObjectsResult( MaxKeys = maxKeys; Owners = owners; Prefix = prefix; + RequestCharged = requestCharged; + RequestPayer = requestPayer; StartAfter = startAfter; } } diff --git a/sdk/dotnet/S3Control/ObjectLambdaAccessPoint.cs b/sdk/dotnet/S3Control/ObjectLambdaAccessPoint.cs index a7e441ec327..be0aae02099 100644 --- a/sdk/dotnet/S3Control/ObjectLambdaAccessPoint.cs +++ b/sdk/dotnet/S3Control/ObjectLambdaAccessPoint.cs @@ -75,6 +75,12 @@ public partial class ObjectLambdaAccessPoint : global::Pulumi.CustomResource [Output("accountId")] public Output AccountId { get; private set; } = null!; + /// + /// Alias for the S3 Object Lambda Access Point. + /// + [Output("alias")] + public Output Alias { get; private set; } = null!; + /// /// Amazon Resource Name (ARN) of the Object Lambda Access Point. /// @@ -171,6 +177,12 @@ public sealed class ObjectLambdaAccessPointState : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + /// + /// Alias for the S3 Object Lambda Access Point. + /// + [Input("alias")] + public Input? Alias { get; set; } + /// /// Amazon Resource Name (ARN) of the Object Lambda Access Point. /// diff --git a/sdk/dotnet/SecurityHub/Account.cs b/sdk/dotnet/SecurityHub/Account.cs index ed1c478821e..fd5abad92f1 100644 --- a/sdk/dotnet/SecurityHub/Account.cs +++ b/sdk/dotnet/SecurityHub/Account.cs @@ -31,11 +31,11 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/account:Account example 123456789012 - /// ``` + /// to = aws_securityhub_account.example + /// + /// id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 /// [AwsResourceType("aws:securityhub/account:Account")] public partial class Account : global::Pulumi.CustomResource diff --git a/sdk/dotnet/SecurityHub/FindingAggregator.cs b/sdk/dotnet/SecurityHub/FindingAggregator.cs index 060666bd683..659bd6dacf0 100644 --- a/sdk/dotnet/SecurityHub/FindingAggregator.cs +++ b/sdk/dotnet/SecurityHub/FindingAggregator.cs @@ -107,11 +107,11 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 - /// ``` + /// to = aws_securityhub_finding_aggregator.example + /// + /// id = "arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 /// [AwsResourceType("aws:securityhub/findingAggregator:FindingAggregator")] public partial class FindingAggregator : global::Pulumi.CustomResource diff --git a/sdk/dotnet/SecurityHub/InviteAccepter.cs b/sdk/dotnet/SecurityHub/InviteAccepter.cs index 5e9afcf543c..112a557bf6f 100644 --- a/sdk/dotnet/SecurityHub/InviteAccepter.cs +++ b/sdk/dotnet/SecurityHub/InviteAccepter.cs @@ -57,11 +57,11 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012 - /// ``` + /// to = aws_securityhub_invite_accepter.example + /// + /// id = "123456789012" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 /// [AwsResourceType("aws:securityhub/inviteAccepter:InviteAccepter")] public partial class InviteAccepter : global::Pulumi.CustomResource diff --git a/sdk/dotnet/SecurityHub/Member.cs b/sdk/dotnet/SecurityHub/Member.cs index 3d777809a05..bda20e37c9e 100644 --- a/sdk/dotnet/SecurityHub/Member.cs +++ b/sdk/dotnet/SecurityHub/Member.cs @@ -42,11 +42,11 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import Security Hub members using their account ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/member:Member example 123456789012 - /// ``` + /// to = aws_securityhub_member.example + /// + /// id = "123456789012" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 /// [AwsResourceType("aws:securityhub/member:Member")] public partial class Member : global::Pulumi.CustomResource diff --git a/sdk/dotnet/SecurityHub/OrganizationConfiguration.cs b/sdk/dotnet/SecurityHub/OrganizationConfiguration.cs index a0f84c2d2c5..c5bbf3be435 100644 --- a/sdk/dotnet/SecurityHub/OrganizationConfiguration.cs +++ b/sdk/dotnet/SecurityHub/OrganizationConfiguration.cs @@ -12,9 +12,9 @@ namespace Pulumi.Aws.SecurityHub /// /// Manages the Security Hub Organization Configuration. /// - /// > **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation + /// > **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation /// - /// > **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration. + /// > **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration. /// /// ## Example Usage /// @@ -56,11 +56,11 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + /// In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012 - /// ``` + /// to = aws_securityhub_organization_configuration.example + /// + /// id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 /// [AwsResourceType("aws:securityhub/organizationConfiguration:OrganizationConfiguration")] public partial class OrganizationConfiguration : global::Pulumi.CustomResource diff --git a/sdk/dotnet/SecurityHub/ProductSubscription.cs b/sdk/dotnet/SecurityHub/ProductSubscription.cs index 12ecc6e3ffa..9df8b114459 100644 --- a/sdk/dotnet/SecurityHub/ProductSubscription.cs +++ b/sdk/dotnet/SecurityHub/ProductSubscription.cs @@ -42,11 +42,11 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement - /// ``` + /// to = aws_securityhub_product_subscription.example + /// + /// id = "arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement /// [AwsResourceType("aws:securityhub/productSubscription:ProductSubscription")] public partial class ProductSubscription : global::Pulumi.CustomResource diff --git a/sdk/dotnet/SecurityHub/StandardsControl.cs b/sdk/dotnet/SecurityHub/StandardsControl.cs index fb53b672884..911ef002cb0 100644 --- a/sdk/dotnet/SecurityHub/StandardsControl.cs +++ b/sdk/dotnet/SecurityHub/StandardsControl.cs @@ -13,8 +13,8 @@ namespace Pulumi.Aws.SecurityHub /// Disable/enable Security Hub standards control in the current region. /// /// The `aws.securityhub.StandardsControl` behaves differently from normal resources, in that - /// The provider does not _create_ this resource, but instead "adopts" it - /// into management. When you _delete_ this resource configuration, the provider "abandons" resource as is and just removes it from the state. + /// TODO does not _create_ this resource, but instead "adopts" it + /// into management. When you _delete_ this resource configuration, TODO "abandons" resource as is and just removes it from the state. /// /// ## Example Usage /// diff --git a/sdk/dotnet/SecurityHub/StandardsSubscription.cs b/sdk/dotnet/SecurityHub/StandardsSubscription.cs index 2ce47241b2c..52743471256 100644 --- a/sdk/dotnet/SecurityHub/StandardsSubscription.cs +++ b/sdk/dotnet/SecurityHub/StandardsSubscription.cs @@ -53,17 +53,19 @@ namespace Pulumi.Aws.SecurityHub /// /// ## Import /// - /// Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 - /// ``` - /// ```sh - /// $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 - /// ``` - /// ```sh - /// $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 - /// ``` + /// to = aws_securityhub_standards_subscription.cis + /// + /// id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" } terraform import { + /// + /// to = aws_securityhub_standards_subscription.pci_321 + /// + /// id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" } terraform import { + /// + /// to = aws_securityhub_standards_subscription.nist_800_53_rev_5 + /// + /// id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 /// [AwsResourceType("aws:securityhub/standardsSubscription:StandardsSubscription")] public partial class StandardsSubscription : global::Pulumi.CustomResource diff --git a/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs b/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs index 7902c0cdd5d..ed44c6d80ea 100644 --- a/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs +++ b/sdk/dotnet/ServiceCatalog/PrincipalPortfolioAssociation.cs @@ -34,10 +34,12 @@ namespace Pulumi.Aws.ServiceCatalog /// /// ## Import /// - /// Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example: + /// In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: + /// + /// Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: /// /// ```sh - /// $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f + /// $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM /// ``` /// [AwsResourceType("aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation")] @@ -64,7 +66,7 @@ public partial class PrincipalPortfolioAssociation : global::Pulumi.CustomResour public Output PrincipalArn { get; private set; } = null!; /// - /// Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + /// Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. /// [Output("principalType")] public Output PrincipalType { get; private set; } = null!; @@ -136,7 +138,7 @@ public sealed class PrincipalPortfolioAssociationArgs : global::Pulumi.ResourceA public Input PrincipalArn { get; set; } = null!; /// - /// Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + /// Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. /// [Input("principalType")] public Input? PrincipalType { get; set; } @@ -170,7 +172,7 @@ public sealed class PrincipalPortfolioAssociationState : global::Pulumi.Resource public Input? PrincipalArn { get; set; } /// - /// Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + /// Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. /// [Input("principalType")] public Input? PrincipalType { get; set; } diff --git a/sdk/dotnet/Ses/IdentityNotificationTopic.cs b/sdk/dotnet/Ses/IdentityNotificationTopic.cs index f7457f34998..d9f5d0f8e76 100644 --- a/sdk/dotnet/Ses/IdentityNotificationTopic.cs +++ b/sdk/dotnet/Ses/IdentityNotificationTopic.cs @@ -35,11 +35,11 @@ namespace Pulumi.Aws.Ses /// /// ## Import /// - /// Using `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example: + /// In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import { /// - /// ```sh - /// $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce' - /// ``` + /// to = aws_ses_identity_notification_topic.test + /// + /// id = "example.com|Bounce" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' /// [AwsResourceType("aws:ses/identityNotificationTopic:IdentityNotificationTopic")] public partial class IdentityNotificationTopic : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Shield/DrtAccessLogBucketAssociation.cs b/sdk/dotnet/Shield/DrtAccessLogBucketAssociation.cs new file mode 100644 index 00000000000..1d19d484a9e --- /dev/null +++ b/sdk/dotnet/Shield/DrtAccessLogBucketAssociation.cs @@ -0,0 +1,147 @@ +// *** 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.Shield +{ + /// + /// Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT). + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var testDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", new() + /// { + /// RoleArn = $"arn:aws:iam:{data.Aws_region.Current.Name}:{data.Aws_caller_identity.Current.Account_id}:{@var.Shield_drt_access_role_name}", + /// }); + /// + /// var testDrtAccessLogBucketAssociation = new Aws.Shield.DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", new() + /// { + /// LogBucket = @var.Shield_drt_access_log_bucket, + /// RoleArnAssociationId = testDrtAccessRoleArnAssociation.Id, + /// }); + /// + /// }); + /// ``` + /// + [AwsResourceType("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation")] + public partial class DrtAccessLogBucketAssociation : global::Pulumi.CustomResource + { + /// + /// The Amazon S3 bucket that contains the logs that you want to share. + /// + [Output("logBucket")] + public Output LogBucket { get; private set; } = null!; + + /// + /// The ID of the Role Arn association used for allowing Shield DRT Access. + /// + [Output("roleArnAssociationId")] + public Output RoleArnAssociationId { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a DrtAccessLogBucketAssociation 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 DrtAccessLogBucketAssociation(string name, DrtAccessLogBucketAssociationArgs args, CustomResourceOptions? options = null) + : base("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", name, args ?? new DrtAccessLogBucketAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private DrtAccessLogBucketAssociation(string name, Input id, DrtAccessLogBucketAssociationState? state = null, CustomResourceOptions? options = null) + : base("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", 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 DrtAccessLogBucketAssociation 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 DrtAccessLogBucketAssociation Get(string name, Input id, DrtAccessLogBucketAssociationState? state = null, CustomResourceOptions? options = null) + { + return new DrtAccessLogBucketAssociation(name, id, state, options); + } + } + + public sealed class DrtAccessLogBucketAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon S3 bucket that contains the logs that you want to share. + /// + [Input("logBucket", required: true)] + public Input LogBucket { get; set; } = null!; + + /// + /// The ID of the Role Arn association used for allowing Shield DRT Access. + /// + [Input("roleArnAssociationId", required: true)] + public Input RoleArnAssociationId { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DrtAccessLogBucketAssociationArgs() + { + } + public static new DrtAccessLogBucketAssociationArgs Empty => new DrtAccessLogBucketAssociationArgs(); + } + + public sealed class DrtAccessLogBucketAssociationState : global::Pulumi.ResourceArgs + { + /// + /// The Amazon S3 bucket that contains the logs that you want to share. + /// + [Input("logBucket")] + public Input? LogBucket { get; set; } + + /// + /// The ID of the Role Arn association used for allowing Shield DRT Access. + /// + [Input("roleArnAssociationId")] + public Input? RoleArnAssociationId { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DrtAccessLogBucketAssociationState() + { + } + public static new DrtAccessLogBucketAssociationState Empty => new DrtAccessLogBucketAssociationState(); + } +} diff --git a/sdk/dotnet/Shield/DrtAccessRoleArnAssociation.cs b/sdk/dotnet/Shield/DrtAccessRoleArnAssociation.cs new file mode 100644 index 00000000000..2be1da66336 --- /dev/null +++ b/sdk/dotnet/Shield/DrtAccessRoleArnAssociation.cs @@ -0,0 +1,151 @@ +// *** 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.Shield +{ + /// + /// Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html) + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var testRole = new Aws.Iam.Role("testRole", new() + /// { + /// AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["Version"] = "2012-10-17", + /// ["Statement"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["Sid"] = "", + /// ["Effect"] = "Allow", + /// ["Principal"] = new Dictionary<string, object?> + /// { + /// ["Service"] = "drt.shield.amazonaws.com", + /// }, + /// ["Action"] = "sts:AssumeRole", + /// }, + /// }, + /// }), + /// }); + /// + /// var testRolePolicyAttachment = new Aws.Iam.RolePolicyAttachment("testRolePolicyAttachment", new() + /// { + /// Role = testRole.Name, + /// PolicyArn = "arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy", + /// }); + /// + /// var testDrtAccessRoleArnAssociation = new Aws.Shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", new() + /// { + /// RoleArn = testRole.Arn, + /// }); + /// + /// }); + /// ``` + /// + [AwsResourceType("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation")] + public partial class DrtAccessRoleArnAssociation : global::Pulumi.CustomResource + { + /// + /// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + /// + [Output("roleArn")] + public Output RoleArn { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a DrtAccessRoleArnAssociation 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 DrtAccessRoleArnAssociation(string name, DrtAccessRoleArnAssociationArgs args, CustomResourceOptions? options = null) + : base("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", name, args ?? new DrtAccessRoleArnAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private DrtAccessRoleArnAssociation(string name, Input id, DrtAccessRoleArnAssociationState? state = null, CustomResourceOptions? options = null) + : base("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", 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 DrtAccessRoleArnAssociation 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 DrtAccessRoleArnAssociation Get(string name, Input id, DrtAccessRoleArnAssociationState? state = null, CustomResourceOptions? options = null) + { + return new DrtAccessRoleArnAssociation(name, id, state, options); + } + } + + public sealed class DrtAccessRoleArnAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DrtAccessRoleArnAssociationArgs() + { + } + public static new DrtAccessRoleArnAssociationArgs Empty => new DrtAccessRoleArnAssociationArgs(); + } + + public sealed class DrtAccessRoleArnAssociationState : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + /// + [Input("roleArn")] + public Input? RoleArn { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DrtAccessRoleArnAssociationState() + { + } + public static new DrtAccessRoleArnAssociationState Empty => new DrtAccessRoleArnAssociationState(); + } +} diff --git a/sdk/dotnet/Shield/Inputs/DrtAccessLogBucketAssociationTimeoutsArgs.cs b/sdk/dotnet/Shield/Inputs/DrtAccessLogBucketAssociationTimeoutsArgs.cs new file mode 100644 index 00000000000..bba0b92347c --- /dev/null +++ b/sdk/dotnet/Shield/Inputs/DrtAccessLogBucketAssociationTimeoutsArgs.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.Shield.Inputs +{ + + public sealed class DrtAccessLogBucketAssociationTimeoutsArgs : global::Pulumi.ResourceArgs + { + [Input("create")] + public Input? Create { get; set; } + + [Input("delete")] + public Input? Delete { get; set; } + + [Input("read")] + public Input? Read { get; set; } + + public DrtAccessLogBucketAssociationTimeoutsArgs() + { + } + public static new DrtAccessLogBucketAssociationTimeoutsArgs Empty => new DrtAccessLogBucketAssociationTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Shield/Inputs/DrtAccessLogBucketAssociationTimeoutsGetArgs.cs b/sdk/dotnet/Shield/Inputs/DrtAccessLogBucketAssociationTimeoutsGetArgs.cs new file mode 100644 index 00000000000..551872bb49a --- /dev/null +++ b/sdk/dotnet/Shield/Inputs/DrtAccessLogBucketAssociationTimeoutsGetArgs.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.Shield.Inputs +{ + + public sealed class DrtAccessLogBucketAssociationTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + [Input("create")] + public Input? Create { get; set; } + + [Input("delete")] + public Input? Delete { get; set; } + + [Input("read")] + public Input? Read { get; set; } + + public DrtAccessLogBucketAssociationTimeoutsGetArgs() + { + } + public static new DrtAccessLogBucketAssociationTimeoutsGetArgs Empty => new DrtAccessLogBucketAssociationTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Shield/Inputs/DrtAccessRoleArnAssociationTimeoutsArgs.cs b/sdk/dotnet/Shield/Inputs/DrtAccessRoleArnAssociationTimeoutsArgs.cs new file mode 100644 index 00000000000..eff02c0ee4a --- /dev/null +++ b/sdk/dotnet/Shield/Inputs/DrtAccessRoleArnAssociationTimeoutsArgs.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.Shield.Inputs +{ + + public sealed class DrtAccessRoleArnAssociationTimeoutsArgs : global::Pulumi.ResourceArgs + { + [Input("create")] + public Input? Create { get; set; } + + [Input("delete")] + public Input? Delete { get; set; } + + [Input("read")] + public Input? Read { get; set; } + + public DrtAccessRoleArnAssociationTimeoutsArgs() + { + } + public static new DrtAccessRoleArnAssociationTimeoutsArgs Empty => new DrtAccessRoleArnAssociationTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Shield/Inputs/DrtAccessRoleArnAssociationTimeoutsGetArgs.cs b/sdk/dotnet/Shield/Inputs/DrtAccessRoleArnAssociationTimeoutsGetArgs.cs new file mode 100644 index 00000000000..15adcae19f2 --- /dev/null +++ b/sdk/dotnet/Shield/Inputs/DrtAccessRoleArnAssociationTimeoutsGetArgs.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.Shield.Inputs +{ + + public sealed class DrtAccessRoleArnAssociationTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + [Input("create")] + public Input? Create { get; set; } + + [Input("delete")] + public Input? Delete { get; set; } + + [Input("read")] + public Input? Read { get; set; } + + public DrtAccessRoleArnAssociationTimeoutsGetArgs() + { + } + public static new DrtAccessRoleArnAssociationTimeoutsGetArgs Empty => new DrtAccessRoleArnAssociationTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Shield/Outputs/DrtAccessLogBucketAssociationTimeouts.cs b/sdk/dotnet/Shield/Outputs/DrtAccessLogBucketAssociationTimeouts.cs new file mode 100644 index 00000000000..e0332dd6381 --- /dev/null +++ b/sdk/dotnet/Shield/Outputs/DrtAccessLogBucketAssociationTimeouts.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Shield.Outputs +{ + + [OutputType] + public sealed class DrtAccessLogBucketAssociationTimeouts + { + public readonly string? Create; + public readonly string? Delete; + public readonly string? Read; + + [OutputConstructor] + private DrtAccessLogBucketAssociationTimeouts( + string? create, + + string? delete, + + string? read) + { + Create = create; + Delete = delete; + Read = read; + } + } +} diff --git a/sdk/dotnet/Shield/Outputs/DrtAccessRoleArnAssociationTimeouts.cs b/sdk/dotnet/Shield/Outputs/DrtAccessRoleArnAssociationTimeouts.cs new file mode 100644 index 00000000000..40d5342427e --- /dev/null +++ b/sdk/dotnet/Shield/Outputs/DrtAccessRoleArnAssociationTimeouts.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Shield.Outputs +{ + + [OutputType] + public sealed class DrtAccessRoleArnAssociationTimeouts + { + public readonly string? Create; + public readonly string? Delete; + public readonly string? Read; + + [OutputConstructor] + private DrtAccessRoleArnAssociationTimeouts( + string? create, + + string? delete, + + string? read) + { + Create = create; + Delete = delete; + Read = read; + } + } +} diff --git a/sdk/dotnet/Ssm/Association.cs b/sdk/dotnet/Ssm/Association.cs index 9f6e84dd516..076ed6baf18 100644 --- a/sdk/dotnet/Ssm/Association.cs +++ b/sdk/dotnet/Ssm/Association.cs @@ -224,6 +224,12 @@ public partial class Association : global::Pulumi.CustomResource [Output("scheduleExpression")] public Output ScheduleExpression { get; private set; } = null!; + /// + /// The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + /// + [Output("syncCompliance")] + public Output SyncCompliance { get; private set; } = null!; + /// /// A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. /// @@ -362,6 +368,12 @@ public InputMap Parameters [Input("scheduleExpression")] public Input? ScheduleExpression { get; set; } + /// + /// The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + /// + [Input("syncCompliance")] + public Input? SyncCompliance { get; set; } + [Input("targets")] private InputList? _targets; @@ -480,6 +492,12 @@ public InputMap Parameters [Input("scheduleExpression")] public Input? ScheduleExpression { get; set; } + /// + /// The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + /// + [Input("syncCompliance")] + public Input? SyncCompliance { get; set; } + [Input("targets")] private InputList? _targets; diff --git a/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderDeviceOptionsArgs.cs b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderDeviceOptionsArgs.cs new file mode 100644 index 00000000000..d58a4142cfe --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderDeviceOptionsArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedAccess.Inputs +{ + + public sealed class TrustProviderDeviceOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("tenantId")] + public Input? TenantId { get; set; } + + public TrustProviderDeviceOptionsArgs() + { + } + public static new TrustProviderDeviceOptionsArgs Empty => new TrustProviderDeviceOptionsArgs(); + } +} diff --git a/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderDeviceOptionsGetArgs.cs b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderDeviceOptionsGetArgs.cs new file mode 100644 index 00000000000..b2ac0955164 --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderDeviceOptionsGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedAccess.Inputs +{ + + public sealed class TrustProviderDeviceOptionsGetArgs : global::Pulumi.ResourceArgs + { + [Input("tenantId")] + public Input? TenantId { get; set; } + + public TrustProviderDeviceOptionsGetArgs() + { + } + public static new TrustProviderDeviceOptionsGetArgs Empty => new TrustProviderDeviceOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderOidcOptionsArgs.cs b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderOidcOptionsArgs.cs new file mode 100644 index 00000000000..b842b5578b9 --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderOidcOptionsArgs.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.VerifiedAccess.Inputs +{ + + public sealed class TrustProviderOidcOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("authorizationEndpoint")] + public Input? AuthorizationEndpoint { get; set; } + + [Input("clientId")] + public Input? ClientId { get; set; } + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("issuer")] + public Input? Issuer { get; set; } + + [Input("scope")] + public Input? Scope { get; set; } + + [Input("tokenEndpoint")] + public Input? TokenEndpoint { get; set; } + + [Input("userInfoEndpoint")] + public Input? UserInfoEndpoint { get; set; } + + public TrustProviderOidcOptionsArgs() + { + } + public static new TrustProviderOidcOptionsArgs Empty => new TrustProviderOidcOptionsArgs(); + } +} diff --git a/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderOidcOptionsGetArgs.cs b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderOidcOptionsGetArgs.cs new file mode 100644 index 00000000000..6876c688af8 --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/Inputs/TrustProviderOidcOptionsGetArgs.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.VerifiedAccess.Inputs +{ + + public sealed class TrustProviderOidcOptionsGetArgs : global::Pulumi.ResourceArgs + { + [Input("authorizationEndpoint")] + public Input? AuthorizationEndpoint { get; set; } + + [Input("clientId")] + public Input? ClientId { get; set; } + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("issuer")] + public Input? Issuer { get; set; } + + [Input("scope")] + public Input? Scope { get; set; } + + [Input("tokenEndpoint")] + public Input? TokenEndpoint { get; set; } + + [Input("userInfoEndpoint")] + public Input? UserInfoEndpoint { get; set; } + + public TrustProviderOidcOptionsGetArgs() + { + } + public static new TrustProviderOidcOptionsGetArgs Empty => new TrustProviderOidcOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedAccess/Outputs/TrustProviderDeviceOptions.cs b/sdk/dotnet/VerifiedAccess/Outputs/TrustProviderDeviceOptions.cs new file mode 100644 index 00000000000..37273e0c2d4 --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/Outputs/TrustProviderDeviceOptions.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedAccess.Outputs +{ + + [OutputType] + public sealed class TrustProviderDeviceOptions + { + public readonly string? TenantId; + + [OutputConstructor] + private TrustProviderDeviceOptions(string? tenantId) + { + TenantId = tenantId; + } + } +} diff --git a/sdk/dotnet/VerifiedAccess/Outputs/TrustProviderOidcOptions.cs b/sdk/dotnet/VerifiedAccess/Outputs/TrustProviderOidcOptions.cs new file mode 100644 index 00000000000..31faf375eeb --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/Outputs/TrustProviderOidcOptions.cs @@ -0,0 +1,49 @@ +// *** 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.VerifiedAccess.Outputs +{ + + [OutputType] + public sealed class TrustProviderOidcOptions + { + public readonly string? AuthorizationEndpoint; + public readonly string? ClientId; + public readonly string ClientSecret; + public readonly string? Issuer; + public readonly string? Scope; + public readonly string? TokenEndpoint; + public readonly string? UserInfoEndpoint; + + [OutputConstructor] + private TrustProviderOidcOptions( + string? authorizationEndpoint, + + string? clientId, + + string clientSecret, + + string? issuer, + + string? scope, + + string? tokenEndpoint, + + string? userInfoEndpoint) + { + AuthorizationEndpoint = authorizationEndpoint; + ClientId = clientId; + ClientSecret = clientSecret; + Issuer = issuer; + Scope = scope; + TokenEndpoint = tokenEndpoint; + UserInfoEndpoint = userInfoEndpoint; + } + } +} diff --git a/sdk/dotnet/VerifiedAccess/README.md b/sdk/dotnet/VerifiedAccess/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/VerifiedAccess/TrustProvider.cs b/sdk/dotnet/VerifiedAccess/TrustProvider.cs new file mode 100644 index 00000000000..e710224e820 --- /dev/null +++ b/sdk/dotnet/VerifiedAccess/TrustProvider.cs @@ -0,0 +1,280 @@ +// *** 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.VerifiedAccess +{ + /// + /// Resource for managing a Verified Access Trust Provider. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.VerifiedAccess.TrustProvider("example", new() + /// { + /// PolicyReferenceName = "example", + /// TrustProviderType = "user", + /// UserTrustProviderType = "iam-identity-center", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import { + /// + /// to = aws_verifiedaccess_trust_provider.example + /// + /// id = "vatp-8012925589" } Using `TODO import`, import Transfer Workflows using the + /// + /// `id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 + /// + [AwsResourceType("aws:verifiedaccess/trustProvider:TrustProvider")] + public partial class TrustProvider : global::Pulumi.CustomResource + { + /// + /// A description for the AWS Verified Access trust provider. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// A block of options for device identity based trust providers. + /// + [Output("deviceOptions")] + public Output DeviceOptions { get; private set; } = null!; + + /// + /// The type of device-based trust provider. + /// + [Output("deviceTrustProviderType")] + public Output DeviceTrustProviderType { get; private set; } = null!; + + /// + /// The OpenID Connect details for an oidc-type, user-identity based trust provider. + /// + [Output("oidcOptions")] + public Output OidcOptions { get; private set; } = null!; + + /// + /// The identifier to be used when working with policy rules. + /// + [Output("policyReferenceName")] + public Output PolicyReferenceName { get; private set; } = null!; + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + /// + /// The type of trust provider can be either user or device-based. + /// + /// The following arguments are optional: + /// + [Output("trustProviderType")] + public Output TrustProviderType { get; private set; } = null!; + + /// + /// The type of user-based trust provider. + /// + [Output("userTrustProviderType")] + public Output UserTrustProviderType { get; private set; } = null!; + + + /// + /// Create a TrustProvider 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 TrustProvider(string name, TrustProviderArgs args, CustomResourceOptions? options = null) + : base("aws:verifiedaccess/trustProvider:TrustProvider", name, args ?? new TrustProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private TrustProvider(string name, Input id, TrustProviderState? state = null, CustomResourceOptions? options = null) + : base("aws:verifiedaccess/trustProvider:TrustProvider", 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 TrustProvider 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 TrustProvider Get(string name, Input id, TrustProviderState? state = null, CustomResourceOptions? options = null) + { + return new TrustProvider(name, id, state, options); + } + } + + public sealed class TrustProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// A description for the AWS Verified Access trust provider. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A block of options for device identity based trust providers. + /// + [Input("deviceOptions")] + public Input? DeviceOptions { get; set; } + + /// + /// The type of device-based trust provider. + /// + [Input("deviceTrustProviderType")] + public Input? DeviceTrustProviderType { get; set; } + + /// + /// The OpenID Connect details for an oidc-type, user-identity based trust provider. + /// + [Input("oidcOptions")] + public Input? OidcOptions { get; set; } + + /// + /// The identifier to be used when working with policy rules. + /// + [Input("policyReferenceName", required: true)] + public Input PolicyReferenceName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The type of trust provider can be either user or device-based. + /// + /// The following arguments are optional: + /// + [Input("trustProviderType", required: true)] + public Input TrustProviderType { get; set; } = null!; + + /// + /// The type of user-based trust provider. + /// + [Input("userTrustProviderType")] + public Input? UserTrustProviderType { get; set; } + + public TrustProviderArgs() + { + } + public static new TrustProviderArgs Empty => new TrustProviderArgs(); + } + + public sealed class TrustProviderState : global::Pulumi.ResourceArgs + { + /// + /// A description for the AWS Verified Access trust provider. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A block of options for device identity based trust providers. + /// + [Input("deviceOptions")] + public Input? DeviceOptions { get; set; } + + /// + /// The type of device-based trust provider. + /// + [Input("deviceTrustProviderType")] + public Input? DeviceTrustProviderType { get; set; } + + /// + /// The OpenID Connect details for an oidc-type, user-identity based trust provider. + /// + [Input("oidcOptions")] + public Input? OidcOptions { get; set; } + + /// + /// The identifier to be used when working with policy rules. + /// + [Input("policyReferenceName")] + public Input? PolicyReferenceName { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + /// + /// The type of trust provider can be either user or device-based. + /// + /// The following arguments are optional: + /// + [Input("trustProviderType")] + public Input? TrustProviderType { get; set; } + + /// + /// The type of user-based trust provider. + /// + [Input("userTrustProviderType")] + public Input? UserTrustProviderType { get; set; } + + public TrustProviderState() + { + } + public static new TrustProviderState Empty => new TrustProviderState(); + } +} diff --git a/sdk/go/aws/acmpca/certificateAuthority.go b/sdk/go/aws/acmpca/certificateAuthority.go index 70c922fe832..c812e82f88e 100644 --- a/sdk/go/aws/acmpca/certificateAuthority.go +++ b/sdk/go/aws/acmpca/certificateAuthority.go @@ -100,7 +100,9 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// exampleBucketV2, err := s3.NewBucketV2(ctx, "exampleBucketV2", nil) +// exampleBucketV2, err := s3.NewBucketV2(ctx, "exampleBucketV2", &s3.BucketV2Args{ +// ForceDestroy: pulumi.Bool(true), +// }) // if err != nil { // return err // } @@ -153,6 +155,7 @@ import ( // Enabled: pulumi.Bool(true), // ExpirationInDays: pulumi.Int(7), // S3BucketName: exampleBucketV2.ID(), +// S3ObjectAcl: pulumi.String("BUCKET_OWNER_FULL_CONTROL"), // }, // }, // }, pulumi.DependsOn([]pulumi.Resource{ diff --git a/sdk/go/aws/apigateway/account.go b/sdk/go/aws/apigateway/account.go index 434ba7025f0..fe9b6c4d877 100644 --- a/sdk/go/aws/apigateway/account.go +++ b/sdk/go/aws/apigateway/account.go @@ -111,8 +111,12 @@ import ( type Account struct { pulumi.CustomResourceState + // The version of the API keys used for the account. + ApiKeyVersion pulumi.StringOutput `pulumi:"apiKeyVersion"` // ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. CloudwatchRoleArn pulumi.StringPtrOutput `pulumi:"cloudwatchRoleArn"` + // A list of features supported for the account. + Features pulumi.StringArrayOutput `pulumi:"features"` // Account-Level throttle settings. See exported fields below. ThrottleSettings AccountThrottleSettingArrayOutput `pulumi:"throttleSettings"` } @@ -147,15 +151,23 @@ func GetAccount(ctx *pulumi.Context, // Input properties used for looking up and filtering Account resources. type accountState struct { + // The version of the API keys used for the account. + ApiKeyVersion *string `pulumi:"apiKeyVersion"` // ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. CloudwatchRoleArn *string `pulumi:"cloudwatchRoleArn"` + // A list of features supported for the account. + Features []string `pulumi:"features"` // Account-Level throttle settings. See exported fields below. ThrottleSettings []AccountThrottleSetting `pulumi:"throttleSettings"` } type AccountState struct { + // The version of the API keys used for the account. + ApiKeyVersion pulumi.StringPtrInput // ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. CloudwatchRoleArn pulumi.StringPtrInput + // A list of features supported for the account. + Features pulumi.StringArrayInput // Account-Level throttle settings. See exported fields below. ThrottleSettings AccountThrottleSettingArrayInput } @@ -286,11 +298,21 @@ func (o AccountOutput) ToOutput(ctx context.Context) pulumix.Output[*Account] { } } +// The version of the API keys used for the account. +func (o AccountOutput) ApiKeyVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.ApiKeyVersion }).(pulumi.StringOutput) +} + // ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. func (o AccountOutput) CloudwatchRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Account) pulumi.StringPtrOutput { return v.CloudwatchRoleArn }).(pulumi.StringPtrOutput) } +// A list of features supported for the account. +func (o AccountOutput) Features() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Account) pulumi.StringArrayOutput { return v.Features }).(pulumi.StringArrayOutput) +} + // Account-Level throttle settings. See exported fields below. func (o AccountOutput) ThrottleSettings() AccountThrottleSettingArrayOutput { return o.ApplyT(func(v *Account) AccountThrottleSettingArrayOutput { return v.ThrottleSettings }).(AccountThrottleSettingArrayOutput) diff --git a/sdk/go/aws/apigateway/apiKey.go b/sdk/go/aws/apigateway/apiKey.go index 95b409875aa..e806ee4b780 100644 --- a/sdk/go/aws/apigateway/apiKey.go +++ b/sdk/go/aws/apigateway/apiKey.go @@ -30,7 +30,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := apigateway.NewApiKey(ctx, "myDemoApiKey", nil) +// _, err := apigateway.NewApiKey(ctx, "example", nil) // if err != nil { // return err // } @@ -42,13 +42,11 @@ import ( // // ## Import // -// Using `pulumi import`, import API Gateway Keys using the `id`. For example: +// terraform import { // -// ```sh +// to = aws_api_gateway_api_key.example // -// $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk -// -// ``` +// id = "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk type ApiKey struct { pulumi.CustomResourceState @@ -56,6 +54,8 @@ type ApiKey struct { Arn pulumi.StringOutput `pulumi:"arn"` // Creation date of the API key CreatedDate pulumi.StringOutput `pulumi:"createdDate"` + // An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + CustomerId pulumi.StringPtrOutput `pulumi:"customerId"` // API key description. Defaults to "Managed by Pulumi". Description pulumi.StringOutput `pulumi:"description"` // Whether the API key can be used by callers. Defaults to `true`. @@ -116,6 +116,8 @@ type apiKeyState struct { Arn *string `pulumi:"arn"` // Creation date of the API key CreatedDate *string `pulumi:"createdDate"` + // An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + CustomerId *string `pulumi:"customerId"` // API key description. Defaults to "Managed by Pulumi". Description *string `pulumi:"description"` // Whether the API key can be used by callers. Defaults to `true`. @@ -137,6 +139,8 @@ type ApiKeyState struct { Arn pulumi.StringPtrInput // Creation date of the API key CreatedDate pulumi.StringPtrInput + // An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + CustomerId pulumi.StringPtrInput // API key description. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // Whether the API key can be used by callers. Defaults to `true`. @@ -158,6 +162,8 @@ func (ApiKeyState) ElementType() reflect.Type { } type apiKeyArgs struct { + // An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + CustomerId *string `pulumi:"customerId"` // API key description. Defaults to "Managed by Pulumi". Description *string `pulumi:"description"` // Whether the API key can be used by callers. Defaults to `true`. @@ -172,6 +178,8 @@ type apiKeyArgs struct { // The set of arguments for constructing a ApiKey resource. type ApiKeyArgs struct { + // An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + CustomerId pulumi.StringPtrInput // API key description. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // Whether the API key can be used by callers. Defaults to `true`. @@ -305,6 +313,11 @@ func (o ApiKeyOutput) CreatedDate() pulumi.StringOutput { return o.ApplyT(func(v *ApiKey) pulumi.StringOutput { return v.CreatedDate }).(pulumi.StringOutput) } +// An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. +func (o ApiKeyOutput) CustomerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApiKey) pulumi.StringPtrOutput { return v.CustomerId }).(pulumi.StringPtrOutput) +} + // API key description. Defaults to "Managed by Pulumi". func (o ApiKeyOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *ApiKey) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) diff --git a/sdk/go/aws/apigateway/getKey.go b/sdk/go/aws/apigateway/getKey.go index 75ca4796d7f..88c7aeb4e22 100644 --- a/sdk/go/aws/apigateway/getKey.go +++ b/sdk/go/aws/apigateway/getKey.go @@ -62,6 +62,8 @@ type GetKeyArgs struct { type GetKeyResult struct { // Date and time when the API Key was created. CreatedDate string `pulumi:"createdDate"` + // Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + CustomerId string `pulumi:"customerId"` // Description of the API Key. Description string `pulumi:"description"` // Whether the API Key is enabled. @@ -129,6 +131,11 @@ func (o GetKeyResultOutput) CreatedDate() pulumi.StringOutput { return o.ApplyT(func(v GetKeyResult) string { return v.CreatedDate }).(pulumi.StringOutput) } +// Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. +func (o GetKeyResultOutput) CustomerId() pulumi.StringOutput { + return o.ApplyT(func(v GetKeyResult) string { return v.CustomerId }).(pulumi.StringOutput) +} + // Description of the API Key. func (o GetKeyResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetKeyResult) string { return v.Description }).(pulumi.StringOutput) diff --git a/sdk/go/aws/apigateway/response.go b/sdk/go/aws/apigateway/response.go index 4c94ff0acb6..02d304a6af3 100644 --- a/sdk/go/aws/apigateway/response.go +++ b/sdk/go/aws/apigateway/response.go @@ -55,13 +55,11 @@ import ( // // ## Import // -// Using `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example: +// In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import { // -// ```sh +// to = aws_api_gateway_gateway_response.example // -// $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED -// -// ``` +// id = "12345abcde/UNAUTHORIZED" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED type Response struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/autoscaling/pulumiTypes.go b/sdk/go/aws/autoscaling/pulumiTypes.go index 26f2573eee3..7c0321b6be2 100644 --- a/sdk/go/aws/autoscaling/pulumiTypes.go +++ b/sdk/go/aws/autoscaling/pulumiTypes.go @@ -413,8 +413,12 @@ type GroupInstanceRefreshPreferences struct { InstanceWarmup *string `pulumi:"instanceWarmup"` // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`. MinHealthyPercentage *int `pulumi:"minHealthyPercentage"` + // Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + ScaleInProtectedInstances *string `pulumi:"scaleInProtectedInstances"` // Replace instances that already have your desired configuration. Defaults to `false`. SkipMatching *bool `pulumi:"skipMatching"` + // Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + StandbyInstances *string `pulumi:"standbyInstances"` } // GroupInstanceRefreshPreferencesInput is an input type that accepts GroupInstanceRefreshPreferencesArgs and GroupInstanceRefreshPreferencesOutput values. @@ -439,8 +443,12 @@ type GroupInstanceRefreshPreferencesArgs struct { InstanceWarmup pulumi.StringPtrInput `pulumi:"instanceWarmup"` // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`. MinHealthyPercentage pulumi.IntPtrInput `pulumi:"minHealthyPercentage"` + // Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + ScaleInProtectedInstances pulumi.StringPtrInput `pulumi:"scaleInProtectedInstances"` // Replace instances that already have your desired configuration. Defaults to `false`. SkipMatching pulumi.BoolPtrInput `pulumi:"skipMatching"` + // Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + StandbyInstances pulumi.StringPtrInput `pulumi:"standbyInstances"` } func (GroupInstanceRefreshPreferencesArgs) ElementType() reflect.Type { @@ -563,11 +571,21 @@ func (o GroupInstanceRefreshPreferencesOutput) MinHealthyPercentage() pulumi.Int return o.ApplyT(func(v GroupInstanceRefreshPreferences) *int { return v.MinHealthyPercentage }).(pulumi.IntPtrOutput) } +// Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. +func (o GroupInstanceRefreshPreferencesOutput) ScaleInProtectedInstances() pulumi.StringPtrOutput { + return o.ApplyT(func(v GroupInstanceRefreshPreferences) *string { return v.ScaleInProtectedInstances }).(pulumi.StringPtrOutput) +} + // Replace instances that already have your desired configuration. Defaults to `false`. func (o GroupInstanceRefreshPreferencesOutput) SkipMatching() pulumi.BoolPtrOutput { return o.ApplyT(func(v GroupInstanceRefreshPreferences) *bool { return v.SkipMatching }).(pulumi.BoolPtrOutput) } +// Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. +func (o GroupInstanceRefreshPreferencesOutput) StandbyInstances() pulumi.StringPtrOutput { + return o.ApplyT(func(v GroupInstanceRefreshPreferences) *string { return v.StandbyInstances }).(pulumi.StringPtrOutput) +} + type GroupInstanceRefreshPreferencesPtrOutput struct{ *pulumi.OutputState } func (GroupInstanceRefreshPreferencesPtrOutput) ElementType() reflect.Type { @@ -648,6 +666,16 @@ func (o GroupInstanceRefreshPreferencesPtrOutput) MinHealthyPercentage() pulumi. }).(pulumi.IntPtrOutput) } +// Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. +func (o GroupInstanceRefreshPreferencesPtrOutput) ScaleInProtectedInstances() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GroupInstanceRefreshPreferences) *string { + if v == nil { + return nil + } + return v.ScaleInProtectedInstances + }).(pulumi.StringPtrOutput) +} + // Replace instances that already have your desired configuration. Defaults to `false`. func (o GroupInstanceRefreshPreferencesPtrOutput) SkipMatching() pulumi.BoolPtrOutput { return o.ApplyT(func(v *GroupInstanceRefreshPreferences) *bool { @@ -658,6 +686,16 @@ func (o GroupInstanceRefreshPreferencesPtrOutput) SkipMatching() pulumi.BoolPtrO }).(pulumi.BoolPtrOutput) } +// Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. +func (o GroupInstanceRefreshPreferencesPtrOutput) StandbyInstances() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GroupInstanceRefreshPreferences) *string { + if v == nil { + return nil + } + return v.StandbyInstances + }).(pulumi.StringPtrOutput) +} + type GroupLaunchTemplate struct { // ID of the launch template. Conflicts with `name`. Id *string `pulumi:"id"` diff --git a/sdk/go/aws/cfg/aggregateAuthorization.go b/sdk/go/aws/cfg/aggregateAuthorization.go index 44d5705ca40..6f0468f9117 100644 --- a/sdk/go/aws/cfg/aggregateAuthorization.go +++ b/sdk/go/aws/cfg/aggregateAuthorization.go @@ -44,13 +44,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import { // -// ```sh +// to = aws_config_aggregate_authorization.example // -// $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1 -// -// ``` +// id = "123456789012:us-east-1" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 type AggregateAuthorization struct { pulumi.CustomResourceState @@ -60,7 +58,7 @@ type AggregateAuthorization struct { Arn pulumi.StringOutput `pulumi:"arn"` // Region Region pulumi.StringOutput `pulumi:"region"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -108,7 +106,7 @@ type aggregateAuthorizationState struct { Arn *string `pulumi:"arn"` // Region Region *string `pulumi:"region"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -121,7 +119,7 @@ type AggregateAuthorizationState struct { Arn pulumi.StringPtrInput // Region Region 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -136,7 +134,7 @@ type aggregateAuthorizationArgs struct { AccountId string `pulumi:"accountId"` // Region Region string `pulumi:"region"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -146,7 +144,7 @@ type AggregateAuthorizationArgs struct { AccountId pulumi.StringInput // Region Region pulumi.StringInput - // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -276,7 +274,7 @@ func (o AggregateAuthorizationOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *AggregateAuthorization) pulumi.StringOutput { return v.Region }).(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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o AggregateAuthorizationOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *AggregateAuthorization) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/cloud9/environmentMembership.go b/sdk/go/aws/cloud9/environmentMembership.go index c09c2764bc5..0bedf91497e 100644 --- a/sdk/go/aws/cloud9/environmentMembership.go +++ b/sdk/go/aws/cloud9/environmentMembership.go @@ -56,13 +56,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import { // -// ```sh +// to = aws_cloud9_environment_membership.test // -// $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn -// -// ``` +// id = "environment-id#user-arn" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn type EnvironmentMembership struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/cloudformation/stackSet.go b/sdk/go/aws/cloudformation/stackSet.go index e01c0f7f396..6e7edbd7c44 100644 --- a/sdk/go/aws/cloudformation/stackSet.go +++ b/sdk/go/aws/cloudformation/stackSet.go @@ -148,7 +148,7 @@ import ( // // ```sh // -// $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN +// $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN // // ``` type StackSet struct { diff --git a/sdk/go/aws/cloudformation/stackSetInstance.go b/sdk/go/aws/cloudformation/stackSetInstance.go index 5468e92f016..6ed4ccb1657 100644 --- a/sdk/go/aws/cloudformation/stackSetInstance.go +++ b/sdk/go/aws/cloudformation/stackSetInstance.go @@ -154,6 +154,8 @@ import ( // // Import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example: // +// Import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example: +// // Using `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example: // // ```sh diff --git a/sdk/go/aws/codepipeline/pipeline.go b/sdk/go/aws/codepipeline/pipeline.go index f62738f44fb..388f706a56e 100644 --- a/sdk/go/aws/codepipeline/pipeline.go +++ b/sdk/go/aws/codepipeline/pipeline.go @@ -222,13 +222,11 @@ import ( // // ## Import // -// Using `pulumi import`, import CodePipelines using the name. For example: +// In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import { // -// ```sh +// to = aws_codepipeline.foo // -// $ pulumi import aws:codepipeline/pipeline:Pipeline foo example -// -// ``` +// id = "example" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example type Pipeline struct { pulumi.CustomResourceState @@ -242,7 +240,7 @@ type Pipeline struct { RoleArn pulumi.StringOutput `pulumi:"roleArn"` // A stage block. Stages are documented below. Stages PipelineStageArrayOutput `pulumi:"stages"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -297,7 +295,7 @@ type pipelineState struct { RoleArn *string `pulumi:"roleArn"` // A stage block. Stages are documented below. Stages []PipelineStage `pulumi:"stages"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -314,7 +312,7 @@ type PipelineState struct { RoleArn pulumi.StringPtrInput // A stage block. Stages are documented below. Stages PipelineStageArrayInput - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -333,7 +331,7 @@ type pipelineArgs struct { RoleArn string `pulumi:"roleArn"` // A stage block. Stages are documented below. Stages []PipelineStage `pulumi:"stages"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -347,7 +345,7 @@ type PipelineArgs struct { RoleArn pulumi.StringInput // A stage block. Stages are documented below. Stages PipelineStageArrayInput - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -487,7 +485,7 @@ func (o PipelineOutput) Stages() PipelineStageArrayOutput { return o.ApplyT(func(v *Pipeline) PipelineStageArrayOutput { return v.Stages }).(PipelineStageArrayOutput) } -// 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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o PipelineOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Pipeline) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/codepipeline/webhook.go b/sdk/go/aws/codepipeline/webhook.go index 876edf8132e..f5e557558ec 100644 --- a/sdk/go/aws/codepipeline/webhook.go +++ b/sdk/go/aws/codepipeline/webhook.go @@ -127,13 +127,11 @@ import ( // // ## Import // -// Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example: +// In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import { // -// ```sh +// to = aws_codepipeline_webhook.example // -// $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example -// -// ``` +// id = "arn:aws:codepipeline:us-west-2:123456789012:webhook:example" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example type Webhook struct { pulumi.CustomResourceState @@ -147,7 +145,7 @@ type Webhook struct { Filters WebhookFilterArrayOutput `pulumi:"filters"` // The name of the webhook. Name pulumi.StringOutput `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -211,7 +209,7 @@ type webhookState struct { Filters []WebhookFilter `pulumi:"filters"` // The name of the webhook. Name *string `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -234,7 +232,7 @@ type WebhookState struct { Filters WebhookFilterArrayInput // The name of the webhook. Name 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -259,7 +257,7 @@ type webhookArgs struct { Filters []WebhookFilter `pulumi:"filters"` // The name of the webhook. Name *string `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline. TargetAction string `pulumi:"targetAction"` @@ -277,7 +275,7 @@ type WebhookArgs struct { Filters WebhookFilterArrayInput // The name of the webhook. Name 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline. TargetAction pulumi.StringInput @@ -421,7 +419,7 @@ func (o WebhookOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Webhook) pulumi.StringOutput { return v.Name }).(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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o WebhookOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Webhook) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/codestarconnections/connection.go b/sdk/go/aws/codestarconnections/connection.go index af13d5cc02a..0baccaffb30 100644 --- a/sdk/go/aws/codestarconnections/connection.go +++ b/sdk/go/aws/codestarconnections/connection.go @@ -88,13 +88,11 @@ import ( // // ## Import // -// Using `pulumi import`, import CodeStar connections using the ARN. For example: +// In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import { // -// ```sh +// to = aws_codestarconnections_connection.test-connection // -// $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 -// -// ``` +// id = "arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 type Connection struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/codestarconnections/host.go b/sdk/go/aws/codestarconnections/host.go index 2c9f7da095b..84af05786ad 100644 --- a/sdk/go/aws/codestarconnections/host.go +++ b/sdk/go/aws/codestarconnections/host.go @@ -46,13 +46,11 @@ import ( // // ## Import // -// Using `pulumi import`, import CodeStar Host using the ARN. For example: +// In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import { // -// ```sh +// to = aws_codestarconnections_host.example-host // -// $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 -// -// ``` +// id = "arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 type Host struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/codestarnotifications/notificationRule.go b/sdk/go/aws/codestarnotifications/notificationRule.go index 45a835dcccd..c22c6638241 100644 --- a/sdk/go/aws/codestarnotifications/notificationRule.go +++ b/sdk/go/aws/codestarnotifications/notificationRule.go @@ -94,13 +94,11 @@ import ( // // ## Import // -// Using `pulumi import`, import CodeStar notification rule using the ARN. For example: +// In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import { // -// ```sh +// to = aws_codestarnotifications_notification_rule.foo // -// $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b -// -// ``` +// id = "arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b type NotificationRule struct { pulumi.CustomResourceState @@ -117,7 +115,7 @@ type NotificationRule struct { Resource pulumi.StringOutput `pulumi:"resource"` // The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. Status pulumi.StringPtrOutput `pulumi:"status"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -177,7 +175,7 @@ type notificationRuleState struct { Resource *string `pulumi:"resource"` // The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. Status *string `pulumi:"status"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -199,7 +197,7 @@ type NotificationRuleState struct { Resource pulumi.StringPtrInput // The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. Status 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -223,7 +221,7 @@ type notificationRuleArgs struct { Resource string `pulumi:"resource"` // The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. Status *string `pulumi:"status"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Configuration blocks containing notification target information. Can be specified multiple times. At least one target must be specified on creation. Targets []NotificationRuleTarget `pulumi:"targets"` @@ -242,7 +240,7 @@ type NotificationRuleArgs struct { Resource pulumi.StringInput // The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. Status 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Configuration blocks containing notification target information. Can be specified multiple times. At least one target must be specified on creation. Targets NotificationRuleTargetArrayInput @@ -390,7 +388,7 @@ func (o NotificationRuleOutput) Status() pulumi.StringPtrOutput { return o.ApplyT(func(v *NotificationRule) pulumi.StringPtrOutput { return v.Status }).(pulumi.StringPtrOutput) } -// 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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o NotificationRuleOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *NotificationRule) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/cognito/getIdentityPool.go b/sdk/go/aws/cognito/getIdentityPool.go new file mode 100644 index 00000000000..f667c6e0c92 --- /dev/null +++ b/sdk/go/aws/cognito/getIdentityPool.go @@ -0,0 +1,190 @@ +// 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 cognito + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Data source for managing an AWS Cognito Identity Pool. +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := cognito.LookupIdentityPool(ctx, &cognito.LookupIdentityPoolArgs{ +// IdentityPoolName: "test pool", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupIdentityPool(ctx *pulumi.Context, args *LookupIdentityPoolArgs, opts ...pulumi.InvokeOption) (*LookupIdentityPoolResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupIdentityPoolResult + err := ctx.Invoke("aws:cognito/getIdentityPool:getIdentityPool", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getIdentityPool. +type LookupIdentityPoolArgs struct { + // The Cognito Identity Pool name. + IdentityPoolName string `pulumi:"identityPoolName"` + // A map of tags to assigned to the Identity Pool. + Tags map[string]string `pulumi:"tags"` +} + +// A collection of values returned by getIdentityPool. +type LookupIdentityPoolResult struct { + // Whether the classic / basic authentication flow is enabled. + AllowClassicFlow bool `pulumi:"allowClassicFlow"` + // Whether the identity pool supports unauthenticated logins or not. + AllowUnauthenticatedIdentities bool `pulumi:"allowUnauthenticatedIdentities"` + // ARN of the Pool. + Arn string `pulumi:"arn"` + // An array of Amazon Cognito Identity user pools and their client IDs. + CognitoIdentityProviders []GetIdentityPoolCognitoIdentityProvider `pulumi:"cognitoIdentityProviders"` + // The "domain" by which Cognito will refer to your users. + DeveloperProviderName string `pulumi:"developerProviderName"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IdentityPoolName string `pulumi:"identityPoolName"` + // Set of OpendID Connect provider ARNs. + OpenidConnectProviderArns []string `pulumi:"openidConnectProviderArns"` + // An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. + SamlProviderArns []string `pulumi:"samlProviderArns"` + // Key-Value pairs mapping provider names to provider app IDs. + SupportedLoginProviders map[string]string `pulumi:"supportedLoginProviders"` + // A map of tags to assigned to the Identity Pool. + Tags map[string]string `pulumi:"tags"` +} + +func LookupIdentityPoolOutput(ctx *pulumi.Context, args LookupIdentityPoolOutputArgs, opts ...pulumi.InvokeOption) LookupIdentityPoolResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupIdentityPoolResult, error) { + args := v.(LookupIdentityPoolArgs) + r, err := LookupIdentityPool(ctx, &args, opts...) + var s LookupIdentityPoolResult + if r != nil { + s = *r + } + return s, err + }).(LookupIdentityPoolResultOutput) +} + +// A collection of arguments for invoking getIdentityPool. +type LookupIdentityPoolOutputArgs struct { + // The Cognito Identity Pool name. + IdentityPoolName pulumi.StringInput `pulumi:"identityPoolName"` + // A map of tags to assigned to the Identity Pool. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (LookupIdentityPoolOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdentityPoolArgs)(nil)).Elem() +} + +// A collection of values returned by getIdentityPool. +type LookupIdentityPoolResultOutput struct{ *pulumi.OutputState } + +func (LookupIdentityPoolResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupIdentityPoolResult)(nil)).Elem() +} + +func (o LookupIdentityPoolResultOutput) ToLookupIdentityPoolResultOutput() LookupIdentityPoolResultOutput { + return o +} + +func (o LookupIdentityPoolResultOutput) ToLookupIdentityPoolResultOutputWithContext(ctx context.Context) LookupIdentityPoolResultOutput { + return o +} + +func (o LookupIdentityPoolResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupIdentityPoolResult] { + return pulumix.Output[LookupIdentityPoolResult]{ + OutputState: o.OutputState, + } +} + +// Whether the classic / basic authentication flow is enabled. +func (o LookupIdentityPoolResultOutput) AllowClassicFlow() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) bool { return v.AllowClassicFlow }).(pulumi.BoolOutput) +} + +// Whether the identity pool supports unauthenticated logins or not. +func (o LookupIdentityPoolResultOutput) AllowUnauthenticatedIdentities() pulumi.BoolOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) bool { return v.AllowUnauthenticatedIdentities }).(pulumi.BoolOutput) +} + +// ARN of the Pool. +func (o LookupIdentityPoolResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// An array of Amazon Cognito Identity user pools and their client IDs. +func (o LookupIdentityPoolResultOutput) CognitoIdentityProviders() GetIdentityPoolCognitoIdentityProviderArrayOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) []GetIdentityPoolCognitoIdentityProvider { + return v.CognitoIdentityProviders + }).(GetIdentityPoolCognitoIdentityProviderArrayOutput) +} + +// The "domain" by which Cognito will refer to your users. +func (o LookupIdentityPoolResultOutput) DeveloperProviderName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.DeveloperProviderName }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupIdentityPoolResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o LookupIdentityPoolResultOutput) IdentityPoolName() pulumi.StringOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) string { return v.IdentityPoolName }).(pulumi.StringOutput) +} + +// Set of OpendID Connect provider ARNs. +func (o LookupIdentityPoolResultOutput) OpenidConnectProviderArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) []string { return v.OpenidConnectProviderArns }).(pulumi.StringArrayOutput) +} + +// An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. +func (o LookupIdentityPoolResultOutput) SamlProviderArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) []string { return v.SamlProviderArns }).(pulumi.StringArrayOutput) +} + +// Key-Value pairs mapping provider names to provider app IDs. +func (o LookupIdentityPoolResultOutput) SupportedLoginProviders() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) map[string]string { return v.SupportedLoginProviders }).(pulumi.StringMapOutput) +} + +// A map of tags to assigned to the Identity Pool. +func (o LookupIdentityPoolResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupIdentityPoolResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupIdentityPoolResultOutput{}) +} diff --git a/sdk/go/aws/cognito/identityPool.go b/sdk/go/aws/cognito/identityPool.go index 69dec3b9c19..aa0bf1147cf 100644 --- a/sdk/go/aws/cognito/identityPool.go +++ b/sdk/go/aws/cognito/identityPool.go @@ -84,13 +84,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Cognito Identity Pool using its ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import { // -// ```sh +// to = aws_cognito_identity_pool.mypool // -// $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 -// -// ``` +// id = "us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 type IdentityPool struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/cognito/identityPoolProviderPrincipalTag.go b/sdk/go/aws/cognito/identityPoolProviderPrincipalTag.go index 8fa37c2fbb4..a853116775b 100644 --- a/sdk/go/aws/cognito/identityPoolProviderPrincipalTag.go +++ b/sdk/go/aws/cognito/identityPoolProviderPrincipalTag.go @@ -17,13 +17,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example: +// In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import { // -// ```sh +// to = aws_cognito_identity_pool_provider_principal_tag.example // -// $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD -// -// ``` +// id = "us-west-2_abc123:CorpAD" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD type IdentityPoolProviderPrincipalTag struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/cognito/identityPoolRoleAttachment.go b/sdk/go/aws/cognito/identityPoolRoleAttachment.go index 014815d0c60..23f1925e882 100644 --- a/sdk/go/aws/cognito/identityPoolRoleAttachment.go +++ b/sdk/go/aws/cognito/identityPoolRoleAttachment.go @@ -17,13 +17,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import { // -// ```sh +// to = aws_cognito_identity_pool_roles_attachment.example // -// $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 -// -// ``` +// id = "us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 type IdentityPoolRoleAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/cognito/pulumiTypes.go b/sdk/go/aws/cognito/pulumiTypes.go index 2c7adefae65..8f444ab7f6a 100644 --- a/sdk/go/aws/cognito/pulumiTypes.go +++ b/sdk/go/aws/cognito/pulumiTypes.go @@ -7530,6 +7530,136 @@ func (o UserPoolVerificationMessageTemplatePtrOutput) SmsMessage() pulumi.String }).(pulumi.StringPtrOutput) } +type GetIdentityPoolCognitoIdentityProvider struct { + ClientId string `pulumi:"clientId"` + ProviderName string `pulumi:"providerName"` + ServerSideTokenCheck bool `pulumi:"serverSideTokenCheck"` +} + +// GetIdentityPoolCognitoIdentityProviderInput is an input type that accepts GetIdentityPoolCognitoIdentityProviderArgs and GetIdentityPoolCognitoIdentityProviderOutput values. +// You can construct a concrete instance of `GetIdentityPoolCognitoIdentityProviderInput` via: +// +// GetIdentityPoolCognitoIdentityProviderArgs{...} +type GetIdentityPoolCognitoIdentityProviderInput interface { + pulumi.Input + + ToGetIdentityPoolCognitoIdentityProviderOutput() GetIdentityPoolCognitoIdentityProviderOutput + ToGetIdentityPoolCognitoIdentityProviderOutputWithContext(context.Context) GetIdentityPoolCognitoIdentityProviderOutput +} + +type GetIdentityPoolCognitoIdentityProviderArgs struct { + ClientId pulumi.StringInput `pulumi:"clientId"` + ProviderName pulumi.StringInput `pulumi:"providerName"` + ServerSideTokenCheck pulumi.BoolInput `pulumi:"serverSideTokenCheck"` +} + +func (GetIdentityPoolCognitoIdentityProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetIdentityPoolCognitoIdentityProvider)(nil)).Elem() +} + +func (i GetIdentityPoolCognitoIdentityProviderArgs) ToGetIdentityPoolCognitoIdentityProviderOutput() GetIdentityPoolCognitoIdentityProviderOutput { + return i.ToGetIdentityPoolCognitoIdentityProviderOutputWithContext(context.Background()) +} + +func (i GetIdentityPoolCognitoIdentityProviderArgs) ToGetIdentityPoolCognitoIdentityProviderOutputWithContext(ctx context.Context) GetIdentityPoolCognitoIdentityProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIdentityPoolCognitoIdentityProviderOutput) +} + +func (i GetIdentityPoolCognitoIdentityProviderArgs) ToOutput(ctx context.Context) pulumix.Output[GetIdentityPoolCognitoIdentityProvider] { + return pulumix.Output[GetIdentityPoolCognitoIdentityProvider]{ + OutputState: i.ToGetIdentityPoolCognitoIdentityProviderOutputWithContext(ctx).OutputState, + } +} + +// GetIdentityPoolCognitoIdentityProviderArrayInput is an input type that accepts GetIdentityPoolCognitoIdentityProviderArray and GetIdentityPoolCognitoIdentityProviderArrayOutput values. +// You can construct a concrete instance of `GetIdentityPoolCognitoIdentityProviderArrayInput` via: +// +// GetIdentityPoolCognitoIdentityProviderArray{ GetIdentityPoolCognitoIdentityProviderArgs{...} } +type GetIdentityPoolCognitoIdentityProviderArrayInput interface { + pulumi.Input + + ToGetIdentityPoolCognitoIdentityProviderArrayOutput() GetIdentityPoolCognitoIdentityProviderArrayOutput + ToGetIdentityPoolCognitoIdentityProviderArrayOutputWithContext(context.Context) GetIdentityPoolCognitoIdentityProviderArrayOutput +} + +type GetIdentityPoolCognitoIdentityProviderArray []GetIdentityPoolCognitoIdentityProviderInput + +func (GetIdentityPoolCognitoIdentityProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIdentityPoolCognitoIdentityProvider)(nil)).Elem() +} + +func (i GetIdentityPoolCognitoIdentityProviderArray) ToGetIdentityPoolCognitoIdentityProviderArrayOutput() GetIdentityPoolCognitoIdentityProviderArrayOutput { + return i.ToGetIdentityPoolCognitoIdentityProviderArrayOutputWithContext(context.Background()) +} + +func (i GetIdentityPoolCognitoIdentityProviderArray) ToGetIdentityPoolCognitoIdentityProviderArrayOutputWithContext(ctx context.Context) GetIdentityPoolCognitoIdentityProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetIdentityPoolCognitoIdentityProviderArrayOutput) +} + +func (i GetIdentityPoolCognitoIdentityProviderArray) ToOutput(ctx context.Context) pulumix.Output[[]GetIdentityPoolCognitoIdentityProvider] { + return pulumix.Output[[]GetIdentityPoolCognitoIdentityProvider]{ + OutputState: i.ToGetIdentityPoolCognitoIdentityProviderArrayOutputWithContext(ctx).OutputState, + } +} + +type GetIdentityPoolCognitoIdentityProviderOutput struct{ *pulumi.OutputState } + +func (GetIdentityPoolCognitoIdentityProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIdentityPoolCognitoIdentityProvider)(nil)).Elem() +} + +func (o GetIdentityPoolCognitoIdentityProviderOutput) ToGetIdentityPoolCognitoIdentityProviderOutput() GetIdentityPoolCognitoIdentityProviderOutput { + return o +} + +func (o GetIdentityPoolCognitoIdentityProviderOutput) ToGetIdentityPoolCognitoIdentityProviderOutputWithContext(ctx context.Context) GetIdentityPoolCognitoIdentityProviderOutput { + return o +} + +func (o GetIdentityPoolCognitoIdentityProviderOutput) ToOutput(ctx context.Context) pulumix.Output[GetIdentityPoolCognitoIdentityProvider] { + return pulumix.Output[GetIdentityPoolCognitoIdentityProvider]{ + OutputState: o.OutputState, + } +} + +func (o GetIdentityPoolCognitoIdentityProviderOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v GetIdentityPoolCognitoIdentityProvider) string { return v.ClientId }).(pulumi.StringOutput) +} + +func (o GetIdentityPoolCognitoIdentityProviderOutput) ProviderName() pulumi.StringOutput { + return o.ApplyT(func(v GetIdentityPoolCognitoIdentityProvider) string { return v.ProviderName }).(pulumi.StringOutput) +} + +func (o GetIdentityPoolCognitoIdentityProviderOutput) ServerSideTokenCheck() pulumi.BoolOutput { + return o.ApplyT(func(v GetIdentityPoolCognitoIdentityProvider) bool { return v.ServerSideTokenCheck }).(pulumi.BoolOutput) +} + +type GetIdentityPoolCognitoIdentityProviderArrayOutput struct{ *pulumi.OutputState } + +func (GetIdentityPoolCognitoIdentityProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetIdentityPoolCognitoIdentityProvider)(nil)).Elem() +} + +func (o GetIdentityPoolCognitoIdentityProviderArrayOutput) ToGetIdentityPoolCognitoIdentityProviderArrayOutput() GetIdentityPoolCognitoIdentityProviderArrayOutput { + return o +} + +func (o GetIdentityPoolCognitoIdentityProviderArrayOutput) ToGetIdentityPoolCognitoIdentityProviderArrayOutputWithContext(ctx context.Context) GetIdentityPoolCognitoIdentityProviderArrayOutput { + return o +} + +func (o GetIdentityPoolCognitoIdentityProviderArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetIdentityPoolCognitoIdentityProvider] { + return pulumix.Output[[]GetIdentityPoolCognitoIdentityProvider]{ + OutputState: o.OutputState, + } +} + +func (o GetIdentityPoolCognitoIdentityProviderArrayOutput) Index(i pulumi.IntInput) GetIdentityPoolCognitoIdentityProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetIdentityPoolCognitoIdentityProvider { + return vs[0].([]GetIdentityPoolCognitoIdentityProvider)[vs[1].(int)] + }).(GetIdentityPoolCognitoIdentityProviderOutput) +} + type GetUserPoolClientAnalyticsConfiguration struct { // (Optional) Application ARN for an Amazon Pinpoint application. Conflicts with `externalId` and `roleArn`. ApplicationArn string `pulumi:"applicationArn"` @@ -7905,6 +8035,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*UserPoolUsernameConfigurationPtrInput)(nil)).Elem(), UserPoolUsernameConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolVerificationMessageTemplateInput)(nil)).Elem(), UserPoolVerificationMessageTemplateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserPoolVerificationMessageTemplatePtrInput)(nil)).Elem(), UserPoolVerificationMessageTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIdentityPoolCognitoIdentityProviderInput)(nil)).Elem(), GetIdentityPoolCognitoIdentityProviderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetIdentityPoolCognitoIdentityProviderArrayInput)(nil)).Elem(), GetIdentityPoolCognitoIdentityProviderArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserPoolClientAnalyticsConfigurationInput)(nil)).Elem(), GetUserPoolClientAnalyticsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserPoolClientAnalyticsConfigurationArrayInput)(nil)).Elem(), GetUserPoolClientAnalyticsConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserPoolClientTokenValidityUnitInput)(nil)).Elem(), GetUserPoolClientTokenValidityUnitArgs{}) @@ -7987,6 +8119,8 @@ func init() { pulumi.RegisterOutputType(UserPoolUsernameConfigurationPtrOutput{}) pulumi.RegisterOutputType(UserPoolVerificationMessageTemplateOutput{}) pulumi.RegisterOutputType(UserPoolVerificationMessageTemplatePtrOutput{}) + pulumi.RegisterOutputType(GetIdentityPoolCognitoIdentityProviderOutput{}) + pulumi.RegisterOutputType(GetIdentityPoolCognitoIdentityProviderArrayOutput{}) pulumi.RegisterOutputType(GetUserPoolClientAnalyticsConfigurationOutput{}) pulumi.RegisterOutputType(GetUserPoolClientAnalyticsConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetUserPoolClientTokenValidityUnitOutput{}) diff --git a/sdk/go/aws/cognito/userPool.go b/sdk/go/aws/cognito/userPool.go index b6f8f4b4c34..1cc35873e61 100644 --- a/sdk/go/aws/cognito/userPool.go +++ b/sdk/go/aws/cognito/userPool.go @@ -111,13 +111,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Cognito User Pools using the `id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import { // -// ```sh +// to = aws_cognito_user_pool.pool // -// $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 -// -// ``` +// id = "us-west-2_abc123" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 type UserPool struct { pulumi.CustomResourceState @@ -167,7 +165,7 @@ type UserPool struct { Schemas UserPoolSchemaArrayOutput `pulumi:"schemas"` // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. SmsAuthenticationMessage pulumi.StringPtrOutput `pulumi:"smsAuthenticationMessage"` - // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. SmsConfiguration UserPoolSmsConfigurationOutput `pulumi:"smsConfiguration"` // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. SmsVerificationMessage pulumi.StringOutput `pulumi:"smsVerificationMessage"` @@ -265,7 +263,7 @@ type userPoolState struct { Schemas []UserPoolSchema `pulumi:"schemas"` // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. SmsAuthenticationMessage *string `pulumi:"smsAuthenticationMessage"` - // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. SmsConfiguration *UserPoolSmsConfiguration `pulumi:"smsConfiguration"` // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. SmsVerificationMessage *string `pulumi:"smsVerificationMessage"` @@ -334,7 +332,7 @@ type UserPoolState struct { Schemas UserPoolSchemaArrayInput // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. SmsAuthenticationMessage pulumi.StringPtrInput - // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. SmsConfiguration UserPoolSmsConfigurationPtrInput // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. SmsVerificationMessage pulumi.StringPtrInput @@ -393,7 +391,7 @@ type userPoolArgs struct { Schemas []UserPoolSchema `pulumi:"schemas"` // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. SmsAuthenticationMessage *string `pulumi:"smsAuthenticationMessage"` - // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. SmsConfiguration *UserPoolSmsConfiguration `pulumi:"smsConfiguration"` // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. SmsVerificationMessage *string `pulumi:"smsVerificationMessage"` @@ -447,7 +445,7 @@ type UserPoolArgs struct { Schemas UserPoolSchemaArrayInput // String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. SmsAuthenticationMessage pulumi.StringPtrInput - // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + // Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. SmsConfiguration UserPoolSmsConfigurationPtrInput // String representing the SMS verification message. Conflicts with `verificationMessageTemplate` configuration block `smsMessage` argument. SmsVerificationMessage pulumi.StringPtrInput @@ -690,7 +688,7 @@ func (o UserPoolOutput) SmsAuthenticationMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.SmsAuthenticationMessage }).(pulumi.StringPtrOutput) } -// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. +// Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. func (o UserPoolOutput) SmsConfiguration() UserPoolSmsConfigurationOutput { return o.ApplyT(func(v *UserPool) UserPoolSmsConfigurationOutput { return v.SmsConfiguration }).(UserPoolSmsConfigurationOutput) } diff --git a/sdk/go/aws/connect/botAssociation.go b/sdk/go/aws/connect/botAssociation.go index a955f325d57..4433fd0aae4 100644 --- a/sdk/go/aws/connect/botAssociation.go +++ b/sdk/go/aws/connect/botAssociation.go @@ -130,13 +130,11 @@ import ( // // ## Import // -// Using `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example: +// In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import { // -// ```sh +// to = aws_connect_bot_association.example // -// $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 -// -// ``` +// id = "aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 type BotAssociation struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/connect/lambdaFunctionAssociation.go b/sdk/go/aws/connect/lambdaFunctionAssociation.go index 77d653235a9..ed48e084fa2 100644 --- a/sdk/go/aws/connect/lambdaFunctionAssociation.go +++ b/sdk/go/aws/connect/lambdaFunctionAssociation.go @@ -45,13 +45,11 @@ import ( // // ## Import // -// Using `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example: +// In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import { // -// ```sh +// to = aws_connect_lambda_function_association.example // -// $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example -// -// ``` +// id = "aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example type LambdaFunctionAssociation struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/dlm/lifecyclePolicy.go b/sdk/go/aws/dlm/lifecyclePolicy.go index 0640bedc747..5c85fae632f 100644 --- a/sdk/go/aws/dlm/lifecyclePolicy.go +++ b/sdk/go/aws/dlm/lifecyclePolicy.go @@ -90,13 +90,11 @@ import ( // // ## Import // -// Using `pulumi import`, import DLM lifecycle policies using their policy ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import { // -// ```sh +// to = aws_dlm_lifecycle_policy.example // -// $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901 -// -// ``` +// id = "policy-abcdef12345678901" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 type LifecyclePolicy struct { pulumi.CustomResourceState @@ -110,7 +108,7 @@ type LifecyclePolicy struct { PolicyDetails LifecyclePolicyPolicyDetailsOutput `pulumi:"policyDetails"` // Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. State pulumi.StringPtrOutput `pulumi:"state"` - // 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. + // 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. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -165,7 +163,7 @@ type lifecyclePolicyState struct { PolicyDetails *LifecyclePolicyPolicyDetails `pulumi:"policyDetails"` // Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. State *string `pulumi:"state"` - // 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. + // 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. TagsAll map[string]string `pulumi:"tagsAll"` @@ -182,7 +180,7 @@ type LifecyclePolicyState struct { PolicyDetails LifecyclePolicyPolicyDetailsPtrInput // Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. State 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. + // 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. TagsAll pulumi.StringMapInput @@ -201,7 +199,7 @@ type lifecyclePolicyArgs struct { PolicyDetails LifecyclePolicyPolicyDetails `pulumi:"policyDetails"` // Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. State *string `pulumi:"state"` - // 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. + // 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"` } @@ -215,7 +213,7 @@ type LifecyclePolicyArgs struct { PolicyDetails LifecyclePolicyPolicyDetailsInput // Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. State 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. + // 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 } @@ -355,7 +353,7 @@ func (o LifecyclePolicyOutput) State() pulumi.StringPtrOutput { return o.ApplyT(func(v *LifecyclePolicy) pulumi.StringPtrOutput { return v.State }).(pulumi.StringPtrOutput) } -// 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. +// 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 LifecyclePolicyOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *LifecyclePolicy) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/dlm/pulumiTypes.go b/sdk/go/aws/dlm/pulumiTypes.go index 4d45c54e6ca..efd77be0268 100644 --- a/sdk/go/aws/dlm/pulumiTypes.go +++ b/sdk/go/aws/dlm/pulumiTypes.go @@ -31,7 +31,7 @@ type LifecyclePolicyPolicyDetails struct { Schedules []LifecyclePolicyPolicyDetailsSchedule `pulumi:"schedules"` // A map of tag keys and their values. Any resources that match the `resourceTypes` and are tagged with _any_ of these tags will be targeted. // - // > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. This provider is unable to detect this at plan time but it will fail during apply. + // > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. TODO is unable to detect this at plan time but it will fail during apply. TargetTags map[string]string `pulumi:"targetTags"` } @@ -63,7 +63,7 @@ type LifecyclePolicyPolicyDetailsArgs struct { Schedules LifecyclePolicyPolicyDetailsScheduleArrayInput `pulumi:"schedules"` // A map of tag keys and their values. Any resources that match the `resourceTypes` and are tagged with _any_ of these tags will be targeted. // - // > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. This provider is unable to detect this at plan time but it will fail during apply. + // > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. TODO is unable to detect this at plan time but it will fail during apply. TargetTags pulumi.StringMapInput `pulumi:"targetTags"` } @@ -199,7 +199,7 @@ func (o LifecyclePolicyPolicyDetailsOutput) Schedules() LifecyclePolicyPolicyDet // A map of tag keys and their values. Any resources that match the `resourceTypes` and are tagged with _any_ of these tags will be targeted. // -// > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. This provider is unable to detect this at plan time but it will fail during apply. +// > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. TODO is unable to detect this at plan time but it will fail during apply. func (o LifecyclePolicyPolicyDetailsOutput) TargetTags() pulumi.StringMapOutput { return o.ApplyT(func(v LifecyclePolicyPolicyDetails) map[string]string { return v.TargetTags }).(pulumi.StringMapOutput) } @@ -306,7 +306,7 @@ func (o LifecyclePolicyPolicyDetailsPtrOutput) Schedules() LifecyclePolicyPolicy // A map of tag keys and their values. Any resources that match the `resourceTypes` and are tagged with _any_ of these tags will be targeted. // -// > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. This provider is unable to detect this at plan time but it will fail during apply. +// > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. TODO is unable to detect this at plan time but it will fail during apply. func (o LifecyclePolicyPolicyDetailsPtrOutput) TargetTags() pulumi.StringMapOutput { return o.ApplyT(func(v *LifecyclePolicyPolicyDetails) map[string]string { if v == nil { diff --git a/sdk/go/aws/ec2/networkInterface.go b/sdk/go/aws/ec2/networkInterface.go index 6084dba689c..884fae6f812 100644 --- a/sdk/go/aws/ec2/networkInterface.go +++ b/sdk/go/aws/ec2/networkInterface.go @@ -71,13 +71,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Network Interfaces using the `id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import { // -// ```sh +// to = aws_network_interface.test // -// $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3 -// -// ``` +// id = "eni-e5aa89a3" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 type NetworkInterface struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/elasticache/cluster.go b/sdk/go/aws/elasticache/cluster.go index 2c520634dfd..0f69c76df8d 100644 --- a/sdk/go/aws/elasticache/cluster.go +++ b/sdk/go/aws/elasticache/cluster.go @@ -256,6 +256,8 @@ type Cluster struct { Tags pulumi.StringMapOutput `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + TransitEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"transitEncryptionEnabled"` } // NewCluster registers a new resource with the given unique name, arguments, and options. @@ -369,6 +371,8 @@ type clusterState struct { Tags map[string]string `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` + // Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + TransitEncryptionEnabled *bool `pulumi:"transitEncryptionEnabled"` } type ClusterState struct { @@ -453,6 +457,8 @@ type ClusterState struct { Tags pulumi.StringMapInput // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput + // Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + TransitEncryptionEnabled pulumi.BoolPtrInput } func (ClusterState) ElementType() reflect.Type { @@ -529,6 +535,8 @@ type clusterArgs struct { SubnetGroupName *string `pulumi:"subnetGroupName"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + TransitEncryptionEnabled *bool `pulumi:"transitEncryptionEnabled"` } // The set of arguments for constructing a Cluster resource. @@ -602,6 +610,8 @@ type ClusterArgs struct { SubnetGroupName pulumi.StringPtrInput // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + TransitEncryptionEnabled pulumi.BoolPtrInput } func (ClusterArgs) ElementType() reflect.Type { @@ -898,6 +908,11 @@ func (o ClusterOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } +// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. +func (o ClusterOutput) TransitEncryptionEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.TransitEncryptionEnabled }).(pulumi.BoolPtrOutput) +} + type ClusterArrayOutput struct{ *pulumi.OutputState } func (ClusterArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/emrcontainers/jobTemplate.go b/sdk/go/aws/emrcontainers/jobTemplate.go index cdd7727ccc7..307d0106872 100644 --- a/sdk/go/aws/emrcontainers/jobTemplate.go +++ b/sdk/go/aws/emrcontainers/jobTemplate.go @@ -52,13 +52,11 @@ import ( // // ## Import // -// Using `pulumi import`, import EKS job templates using the `id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import { // -// ```sh +// to = aws_emrcontainers_job_template.example // -// $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l -// -// ``` +// id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l type JobTemplate struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/emrcontainers/virtualCluster.go b/sdk/go/aws/emrcontainers/virtualCluster.go index bef78cc5f44..cdada627376 100644 --- a/sdk/go/aws/emrcontainers/virtualCluster.go +++ b/sdk/go/aws/emrcontainers/virtualCluster.go @@ -52,13 +52,11 @@ import ( // // ## Import // -// Using `pulumi import`, import EKS Clusters using the `id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import { // -// ```sh +// to = aws_emrcontainers_virtual_cluster.example // -// $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l -// -// ``` +// id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l type VirtualCluster struct { pulumi.CustomResourceState @@ -68,7 +66,7 @@ type VirtualCluster struct { ContainerProvider VirtualClusterContainerProviderOutput `pulumi:"containerProvider"` // Name of the virtual cluster. Name pulumi.StringOutput `pulumi:"name"` - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -113,7 +111,7 @@ type virtualClusterState struct { ContainerProvider *VirtualClusterContainerProvider `pulumi:"containerProvider"` // Name of the virtual cluster. Name *string `pulumi:"name"` - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -126,7 +124,7 @@ type VirtualClusterState struct { ContainerProvider VirtualClusterContainerProviderPtrInput // Name of the virtual cluster. Name pulumi.StringPtrInput - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -141,7 +139,7 @@ type virtualClusterArgs struct { ContainerProvider VirtualClusterContainerProvider `pulumi:"containerProvider"` // Name of the virtual cluster. Name *string `pulumi:"name"` - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -151,7 +149,7 @@ type VirtualClusterArgs struct { ContainerProvider VirtualClusterContainerProviderInput // Name of the virtual cluster. Name pulumi.StringPtrInput - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -281,7 +279,7 @@ func (o VirtualClusterOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *VirtualCluster) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o VirtualClusterOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *VirtualCluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/emrserverless/application.go b/sdk/go/aws/emrserverless/application.go index 1d8a001ee3e..488638fa78c 100644 --- a/sdk/go/aws/emrserverless/application.go +++ b/sdk/go/aws/emrserverless/application.go @@ -113,13 +113,11 @@ import ( // // ## Import // -// Using `pulumi import`, import EMR Severless applications using the `id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import { // -// ```sh +// to = aws_emrserverless_application.example // -// $ pulumi import aws:emrserverless/application:Application example id -// -// ``` +// id = "id" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id type Application struct { pulumi.CustomResourceState @@ -143,7 +141,7 @@ type Application struct { NetworkConfiguration ApplicationNetworkConfigurationPtrOutput `pulumi:"networkConfiguration"` // The EMR release version associated with the application. ReleaseLabel pulumi.StringOutput `pulumi:"releaseLabel"` - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -207,7 +205,7 @@ type applicationState struct { NetworkConfiguration *ApplicationNetworkConfiguration `pulumi:"networkConfiguration"` // The EMR release version associated with the application. ReleaseLabel *string `pulumi:"releaseLabel"` - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -236,7 +234,7 @@ type ApplicationState struct { NetworkConfiguration ApplicationNetworkConfigurationPtrInput // The EMR release version associated with the application. ReleaseLabel pulumi.StringPtrInput - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -267,7 +265,7 @@ type applicationArgs struct { NetworkConfiguration *ApplicationNetworkConfiguration `pulumi:"networkConfiguration"` // The EMR release version associated with the application. ReleaseLabel string `pulumi:"releaseLabel"` - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // The type of application you want to start, such as `spark` or `hive`. Type string `pulumi:"type"` @@ -293,7 +291,7 @@ type ApplicationArgs struct { NetworkConfiguration ApplicationNetworkConfigurationPtrInput // The EMR release version associated with the application. ReleaseLabel pulumi.StringInput - // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // The type of application you want to start, such as `spark` or `hive`. Type pulumi.StringInput @@ -460,7 +458,7 @@ func (o ApplicationOutput) ReleaseLabel() pulumi.StringOutput { return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.ReleaseLabel }).(pulumi.StringOutput) } -// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o ApplicationOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Application) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/fsx/getWindowsFileSystem.go b/sdk/go/aws/fsx/getWindowsFileSystem.go index 5a0ba7d7c2c..4b37f7f57c0 100644 --- a/sdk/go/aws/fsx/getWindowsFileSystem.go +++ b/sdk/go/aws/fsx/getWindowsFileSystem.go @@ -77,6 +77,8 @@ type LookupWindowsFileSystemResult struct { DailyAutomaticBackupStartTime string `pulumi:"dailyAutomaticBackupStartTime"` // The file system deployment type. DeploymentType string `pulumi:"deploymentType"` + // The SSD IOPS configuration for the file system. + DiskIopsConfigurations []GetWindowsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfigurations"` // DNS name for the file system (e.g. `fs-12345678.corp.example.com`). DnsName string `pulumi:"dnsName"` // Identifier of the file system (e.g. `fs-12345678`). @@ -200,6 +202,13 @@ func (o LookupWindowsFileSystemResultOutput) DeploymentType() pulumi.StringOutpu return o.ApplyT(func(v LookupWindowsFileSystemResult) string { return v.DeploymentType }).(pulumi.StringOutput) } +// The SSD IOPS configuration for the file system. +func (o LookupWindowsFileSystemResultOutput) DiskIopsConfigurations() GetWindowsFileSystemDiskIopsConfigurationArrayOutput { + return o.ApplyT(func(v LookupWindowsFileSystemResult) []GetWindowsFileSystemDiskIopsConfiguration { + return v.DiskIopsConfigurations + }).(GetWindowsFileSystemDiskIopsConfigurationArrayOutput) +} + // DNS name for the file system (e.g. `fs-12345678.corp.example.com`). func (o LookupWindowsFileSystemResultOutput) DnsName() pulumi.StringOutput { return o.ApplyT(func(v LookupWindowsFileSystemResult) string { return v.DnsName }).(pulumi.StringOutput) diff --git a/sdk/go/aws/fsx/pulumiTypes.go b/sdk/go/aws/fsx/pulumiTypes.go index 1ac9af01a92..3c760de1e45 100644 --- a/sdk/go/aws/fsx/pulumiTypes.go +++ b/sdk/go/aws/fsx/pulumiTypes.go @@ -5157,6 +5157,186 @@ func (o WindowsFileSystemAuditLogConfigurationPtrOutput) FileShareAccessAuditLog }).(pulumi.StringPtrOutput) } +type WindowsFileSystemDiskIopsConfiguration struct { + // The total number of SSD IOPS provisioned for the file system. + Iops *int `pulumi:"iops"` + // Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + Mode *string `pulumi:"mode"` +} + +// WindowsFileSystemDiskIopsConfigurationInput is an input type that accepts WindowsFileSystemDiskIopsConfigurationArgs and WindowsFileSystemDiskIopsConfigurationOutput values. +// You can construct a concrete instance of `WindowsFileSystemDiskIopsConfigurationInput` via: +// +// WindowsFileSystemDiskIopsConfigurationArgs{...} +type WindowsFileSystemDiskIopsConfigurationInput interface { + pulumi.Input + + ToWindowsFileSystemDiskIopsConfigurationOutput() WindowsFileSystemDiskIopsConfigurationOutput + ToWindowsFileSystemDiskIopsConfigurationOutputWithContext(context.Context) WindowsFileSystemDiskIopsConfigurationOutput +} + +type WindowsFileSystemDiskIopsConfigurationArgs struct { + // The total number of SSD IOPS provisioned for the file system. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + Mode pulumi.StringPtrInput `pulumi:"mode"` +} + +func (WindowsFileSystemDiskIopsConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (i WindowsFileSystemDiskIopsConfigurationArgs) ToWindowsFileSystemDiskIopsConfigurationOutput() WindowsFileSystemDiskIopsConfigurationOutput { + return i.ToWindowsFileSystemDiskIopsConfigurationOutputWithContext(context.Background()) +} + +func (i WindowsFileSystemDiskIopsConfigurationArgs) ToWindowsFileSystemDiskIopsConfigurationOutputWithContext(ctx context.Context) WindowsFileSystemDiskIopsConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsFileSystemDiskIopsConfigurationOutput) +} + +func (i WindowsFileSystemDiskIopsConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[WindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[WindowsFileSystemDiskIopsConfiguration]{ + OutputState: i.ToWindowsFileSystemDiskIopsConfigurationOutputWithContext(ctx).OutputState, + } +} + +func (i WindowsFileSystemDiskIopsConfigurationArgs) ToWindowsFileSystemDiskIopsConfigurationPtrOutput() WindowsFileSystemDiskIopsConfigurationPtrOutput { + return i.ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(context.Background()) +} + +func (i WindowsFileSystemDiskIopsConfigurationArgs) ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(ctx context.Context) WindowsFileSystemDiskIopsConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsFileSystemDiskIopsConfigurationOutput).ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(ctx) +} + +// WindowsFileSystemDiskIopsConfigurationPtrInput is an input type that accepts WindowsFileSystemDiskIopsConfigurationArgs, WindowsFileSystemDiskIopsConfigurationPtr and WindowsFileSystemDiskIopsConfigurationPtrOutput values. +// You can construct a concrete instance of `WindowsFileSystemDiskIopsConfigurationPtrInput` via: +// +// WindowsFileSystemDiskIopsConfigurationArgs{...} +// +// or: +// +// nil +type WindowsFileSystemDiskIopsConfigurationPtrInput interface { + pulumi.Input + + ToWindowsFileSystemDiskIopsConfigurationPtrOutput() WindowsFileSystemDiskIopsConfigurationPtrOutput + ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(context.Context) WindowsFileSystemDiskIopsConfigurationPtrOutput +} + +type windowsFileSystemDiskIopsConfigurationPtrType WindowsFileSystemDiskIopsConfigurationArgs + +func WindowsFileSystemDiskIopsConfigurationPtr(v *WindowsFileSystemDiskIopsConfigurationArgs) WindowsFileSystemDiskIopsConfigurationPtrInput { + return (*windowsFileSystemDiskIopsConfigurationPtrType)(v) +} + +func (*windowsFileSystemDiskIopsConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (i *windowsFileSystemDiskIopsConfigurationPtrType) ToWindowsFileSystemDiskIopsConfigurationPtrOutput() WindowsFileSystemDiskIopsConfigurationPtrOutput { + return i.ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *windowsFileSystemDiskIopsConfigurationPtrType) ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(ctx context.Context) WindowsFileSystemDiskIopsConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsFileSystemDiskIopsConfigurationPtrOutput) +} + +func (i *windowsFileSystemDiskIopsConfigurationPtrType) ToOutput(ctx context.Context) pulumix.Output[*WindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[*WindowsFileSystemDiskIopsConfiguration]{ + OutputState: i.ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(ctx).OutputState, + } +} + +type WindowsFileSystemDiskIopsConfigurationOutput struct{ *pulumi.OutputState } + +func (WindowsFileSystemDiskIopsConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (o WindowsFileSystemDiskIopsConfigurationOutput) ToWindowsFileSystemDiskIopsConfigurationOutput() WindowsFileSystemDiskIopsConfigurationOutput { + return o +} + +func (o WindowsFileSystemDiskIopsConfigurationOutput) ToWindowsFileSystemDiskIopsConfigurationOutputWithContext(ctx context.Context) WindowsFileSystemDiskIopsConfigurationOutput { + return o +} + +func (o WindowsFileSystemDiskIopsConfigurationOutput) ToWindowsFileSystemDiskIopsConfigurationPtrOutput() WindowsFileSystemDiskIopsConfigurationPtrOutput { + return o.ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(context.Background()) +} + +func (o WindowsFileSystemDiskIopsConfigurationOutput) ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(ctx context.Context) WindowsFileSystemDiskIopsConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WindowsFileSystemDiskIopsConfiguration) *WindowsFileSystemDiskIopsConfiguration { + return &v + }).(WindowsFileSystemDiskIopsConfigurationPtrOutput) +} + +func (o WindowsFileSystemDiskIopsConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[WindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[WindowsFileSystemDiskIopsConfiguration]{ + OutputState: o.OutputState, + } +} + +// The total number of SSD IOPS provisioned for the file system. +func (o WindowsFileSystemDiskIopsConfigurationOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v WindowsFileSystemDiskIopsConfiguration) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. +func (o WindowsFileSystemDiskIopsConfigurationOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v WindowsFileSystemDiskIopsConfiguration) *string { return v.Mode }).(pulumi.StringPtrOutput) +} + +type WindowsFileSystemDiskIopsConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (WindowsFileSystemDiskIopsConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (o WindowsFileSystemDiskIopsConfigurationPtrOutput) ToWindowsFileSystemDiskIopsConfigurationPtrOutput() WindowsFileSystemDiskIopsConfigurationPtrOutput { + return o +} + +func (o WindowsFileSystemDiskIopsConfigurationPtrOutput) ToWindowsFileSystemDiskIopsConfigurationPtrOutputWithContext(ctx context.Context) WindowsFileSystemDiskIopsConfigurationPtrOutput { + return o +} + +func (o WindowsFileSystemDiskIopsConfigurationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*WindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[*WindowsFileSystemDiskIopsConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o WindowsFileSystemDiskIopsConfigurationPtrOutput) Elem() WindowsFileSystemDiskIopsConfigurationOutput { + return o.ApplyT(func(v *WindowsFileSystemDiskIopsConfiguration) WindowsFileSystemDiskIopsConfiguration { + if v != nil { + return *v + } + var ret WindowsFileSystemDiskIopsConfiguration + return ret + }).(WindowsFileSystemDiskIopsConfigurationOutput) +} + +// The total number of SSD IOPS provisioned for the file system. +func (o WindowsFileSystemDiskIopsConfigurationPtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *WindowsFileSystemDiskIopsConfiguration) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) +} + +// Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. +func (o WindowsFileSystemDiskIopsConfigurationPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WindowsFileSystemDiskIopsConfiguration) *string { + if v == nil { + return nil + } + return v.Mode + }).(pulumi.StringPtrOutput) +} + type WindowsFileSystemSelfManagedActiveDirectory struct { // A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the file system or in the private IP version 4 (IPv4) address ranges as specified in [RFC 1918](https://tools.ietf.org/html/rfc1918). DnsIps []string `pulumi:"dnsIps"` @@ -5672,6 +5852,130 @@ func (o GetWindowsFileSystemAuditLogConfigurationArrayOutput) Index(i pulumi.Int }).(GetWindowsFileSystemAuditLogConfigurationOutput) } +type GetWindowsFileSystemDiskIopsConfiguration struct { + Iops int `pulumi:"iops"` + Mode string `pulumi:"mode"` +} + +// GetWindowsFileSystemDiskIopsConfigurationInput is an input type that accepts GetWindowsFileSystemDiskIopsConfigurationArgs and GetWindowsFileSystemDiskIopsConfigurationOutput values. +// You can construct a concrete instance of `GetWindowsFileSystemDiskIopsConfigurationInput` via: +// +// GetWindowsFileSystemDiskIopsConfigurationArgs{...} +type GetWindowsFileSystemDiskIopsConfigurationInput interface { + pulumi.Input + + ToGetWindowsFileSystemDiskIopsConfigurationOutput() GetWindowsFileSystemDiskIopsConfigurationOutput + ToGetWindowsFileSystemDiskIopsConfigurationOutputWithContext(context.Context) GetWindowsFileSystemDiskIopsConfigurationOutput +} + +type GetWindowsFileSystemDiskIopsConfigurationArgs struct { + Iops pulumi.IntInput `pulumi:"iops"` + Mode pulumi.StringInput `pulumi:"mode"` +} + +func (GetWindowsFileSystemDiskIopsConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetWindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (i GetWindowsFileSystemDiskIopsConfigurationArgs) ToGetWindowsFileSystemDiskIopsConfigurationOutput() GetWindowsFileSystemDiskIopsConfigurationOutput { + return i.ToGetWindowsFileSystemDiskIopsConfigurationOutputWithContext(context.Background()) +} + +func (i GetWindowsFileSystemDiskIopsConfigurationArgs) ToGetWindowsFileSystemDiskIopsConfigurationOutputWithContext(ctx context.Context) GetWindowsFileSystemDiskIopsConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWindowsFileSystemDiskIopsConfigurationOutput) +} + +func (i GetWindowsFileSystemDiskIopsConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[GetWindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[GetWindowsFileSystemDiskIopsConfiguration]{ + OutputState: i.ToGetWindowsFileSystemDiskIopsConfigurationOutputWithContext(ctx).OutputState, + } +} + +// GetWindowsFileSystemDiskIopsConfigurationArrayInput is an input type that accepts GetWindowsFileSystemDiskIopsConfigurationArray and GetWindowsFileSystemDiskIopsConfigurationArrayOutput values. +// You can construct a concrete instance of `GetWindowsFileSystemDiskIopsConfigurationArrayInput` via: +// +// GetWindowsFileSystemDiskIopsConfigurationArray{ GetWindowsFileSystemDiskIopsConfigurationArgs{...} } +type GetWindowsFileSystemDiskIopsConfigurationArrayInput interface { + pulumi.Input + + ToGetWindowsFileSystemDiskIopsConfigurationArrayOutput() GetWindowsFileSystemDiskIopsConfigurationArrayOutput + ToGetWindowsFileSystemDiskIopsConfigurationArrayOutputWithContext(context.Context) GetWindowsFileSystemDiskIopsConfigurationArrayOutput +} + +type GetWindowsFileSystemDiskIopsConfigurationArray []GetWindowsFileSystemDiskIopsConfigurationInput + +func (GetWindowsFileSystemDiskIopsConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetWindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (i GetWindowsFileSystemDiskIopsConfigurationArray) ToGetWindowsFileSystemDiskIopsConfigurationArrayOutput() GetWindowsFileSystemDiskIopsConfigurationArrayOutput { + return i.ToGetWindowsFileSystemDiskIopsConfigurationArrayOutputWithContext(context.Background()) +} + +func (i GetWindowsFileSystemDiskIopsConfigurationArray) ToGetWindowsFileSystemDiskIopsConfigurationArrayOutputWithContext(ctx context.Context) GetWindowsFileSystemDiskIopsConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetWindowsFileSystemDiskIopsConfigurationArrayOutput) +} + +func (i GetWindowsFileSystemDiskIopsConfigurationArray) ToOutput(ctx context.Context) pulumix.Output[[]GetWindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[[]GetWindowsFileSystemDiskIopsConfiguration]{ + OutputState: i.ToGetWindowsFileSystemDiskIopsConfigurationArrayOutputWithContext(ctx).OutputState, + } +} + +type GetWindowsFileSystemDiskIopsConfigurationOutput struct{ *pulumi.OutputState } + +func (GetWindowsFileSystemDiskIopsConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetWindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (o GetWindowsFileSystemDiskIopsConfigurationOutput) ToGetWindowsFileSystemDiskIopsConfigurationOutput() GetWindowsFileSystemDiskIopsConfigurationOutput { + return o +} + +func (o GetWindowsFileSystemDiskIopsConfigurationOutput) ToGetWindowsFileSystemDiskIopsConfigurationOutputWithContext(ctx context.Context) GetWindowsFileSystemDiskIopsConfigurationOutput { + return o +} + +func (o GetWindowsFileSystemDiskIopsConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[GetWindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[GetWindowsFileSystemDiskIopsConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o GetWindowsFileSystemDiskIopsConfigurationOutput) Iops() pulumi.IntOutput { + return o.ApplyT(func(v GetWindowsFileSystemDiskIopsConfiguration) int { return v.Iops }).(pulumi.IntOutput) +} + +func (o GetWindowsFileSystemDiskIopsConfigurationOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetWindowsFileSystemDiskIopsConfiguration) string { return v.Mode }).(pulumi.StringOutput) +} + +type GetWindowsFileSystemDiskIopsConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (GetWindowsFileSystemDiskIopsConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetWindowsFileSystemDiskIopsConfiguration)(nil)).Elem() +} + +func (o GetWindowsFileSystemDiskIopsConfigurationArrayOutput) ToGetWindowsFileSystemDiskIopsConfigurationArrayOutput() GetWindowsFileSystemDiskIopsConfigurationArrayOutput { + return o +} + +func (o GetWindowsFileSystemDiskIopsConfigurationArrayOutput) ToGetWindowsFileSystemDiskIopsConfigurationArrayOutputWithContext(ctx context.Context) GetWindowsFileSystemDiskIopsConfigurationArrayOutput { + return o +} + +func (o GetWindowsFileSystemDiskIopsConfigurationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetWindowsFileSystemDiskIopsConfiguration] { + return pulumix.Output[[]GetWindowsFileSystemDiskIopsConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o GetWindowsFileSystemDiskIopsConfigurationArrayOutput) Index(i pulumi.IntInput) GetWindowsFileSystemDiskIopsConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetWindowsFileSystemDiskIopsConfiguration { + return vs[0].([]GetWindowsFileSystemDiskIopsConfiguration)[vs[1].(int)] + }).(GetWindowsFileSystemDiskIopsConfigurationOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataRepositoryAssociationS3Input)(nil)).Elem(), DataRepositoryAssociationS3Args{}) pulumi.RegisterInputType(reflect.TypeOf((*DataRepositoryAssociationS3PtrInput)(nil)).Elem(), DataRepositoryAssociationS3Args{}) @@ -5737,12 +6041,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*OpenZfsVolumeUserAndGroupQuotaArrayInput)(nil)).Elem(), OpenZfsVolumeUserAndGroupQuotaArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsFileSystemAuditLogConfigurationInput)(nil)).Elem(), WindowsFileSystemAuditLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsFileSystemAuditLogConfigurationPtrInput)(nil)).Elem(), WindowsFileSystemAuditLogConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsFileSystemDiskIopsConfigurationInput)(nil)).Elem(), WindowsFileSystemDiskIopsConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsFileSystemDiskIopsConfigurationPtrInput)(nil)).Elem(), WindowsFileSystemDiskIopsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsFileSystemSelfManagedActiveDirectoryInput)(nil)).Elem(), WindowsFileSystemSelfManagedActiveDirectoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsFileSystemSelfManagedActiveDirectoryPtrInput)(nil)).Elem(), WindowsFileSystemSelfManagedActiveDirectoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOpenZfsSnapshotFilterInput)(nil)).Elem(), GetOpenZfsSnapshotFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOpenZfsSnapshotFilterArrayInput)(nil)).Elem(), GetOpenZfsSnapshotFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsFileSystemAuditLogConfigurationInput)(nil)).Elem(), GetWindowsFileSystemAuditLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsFileSystemAuditLogConfigurationArrayInput)(nil)).Elem(), GetWindowsFileSystemAuditLogConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsFileSystemDiskIopsConfigurationInput)(nil)).Elem(), GetWindowsFileSystemDiskIopsConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetWindowsFileSystemDiskIopsConfigurationArrayInput)(nil)).Elem(), GetWindowsFileSystemDiskIopsConfigurationArray{}) pulumi.RegisterOutputType(DataRepositoryAssociationS3Output{}) pulumi.RegisterOutputType(DataRepositoryAssociationS3PtrOutput{}) pulumi.RegisterOutputType(DataRepositoryAssociationS3AutoExportPolicyOutput{}) @@ -5807,10 +6115,14 @@ func init() { pulumi.RegisterOutputType(OpenZfsVolumeUserAndGroupQuotaArrayOutput{}) pulumi.RegisterOutputType(WindowsFileSystemAuditLogConfigurationOutput{}) pulumi.RegisterOutputType(WindowsFileSystemAuditLogConfigurationPtrOutput{}) + pulumi.RegisterOutputType(WindowsFileSystemDiskIopsConfigurationOutput{}) + pulumi.RegisterOutputType(WindowsFileSystemDiskIopsConfigurationPtrOutput{}) pulumi.RegisterOutputType(WindowsFileSystemSelfManagedActiveDirectoryOutput{}) pulumi.RegisterOutputType(WindowsFileSystemSelfManagedActiveDirectoryPtrOutput{}) pulumi.RegisterOutputType(GetOpenZfsSnapshotFilterOutput{}) pulumi.RegisterOutputType(GetOpenZfsSnapshotFilterArrayOutput{}) pulumi.RegisterOutputType(GetWindowsFileSystemAuditLogConfigurationOutput{}) pulumi.RegisterOutputType(GetWindowsFileSystemAuditLogConfigurationArrayOutput{}) + pulumi.RegisterOutputType(GetWindowsFileSystemDiskIopsConfigurationOutput{}) + pulumi.RegisterOutputType(GetWindowsFileSystemDiskIopsConfigurationArrayOutput{}) } diff --git a/sdk/go/aws/fsx/windowsFileSystem.go b/sdk/go/aws/fsx/windowsFileSystem.go index d5c1140a91d..59d450ff40f 100644 --- a/sdk/go/aws/fsx/windowsFileSystem.go +++ b/sdk/go/aws/fsx/windowsFileSystem.go @@ -113,7 +113,7 @@ type WindowsFileSystem struct { Aliases pulumi.StringArrayOutput `pulumi:"aliases"` // Amazon Resource Name of the file system. Arn pulumi.StringOutput `pulumi:"arn"` - // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. AuditLogConfiguration WindowsFileSystemAuditLogConfigurationOutput `pulumi:"auditLogConfiguration"` // The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. AutomaticBackupRetentionDays pulumi.IntPtrOutput `pulumi:"automaticBackupRetentionDays"` @@ -125,6 +125,8 @@ type WindowsFileSystem struct { DailyAutomaticBackupStartTime pulumi.StringOutput `pulumi:"dailyAutomaticBackupStartTime"` // Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. DeploymentType pulumi.StringPtrOutput `pulumi:"deploymentType"` + // The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + DiskIopsConfiguration WindowsFileSystemDiskIopsConfigurationOutput `pulumi:"diskIopsConfiguration"` // DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) DnsName pulumi.StringOutput `pulumi:"dnsName"` // ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. @@ -141,7 +143,7 @@ type WindowsFileSystem struct { RemoteAdministrationEndpoint pulumi.StringOutput `pulumi:"remoteAdministrationEndpoint"` // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` - // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. SelfManagedActiveDirectory WindowsFileSystemSelfManagedActiveDirectoryPtrOutput `pulumi:"selfManagedActiveDirectory"` // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. SkipFinalBackup pulumi.BoolPtrOutput `pulumi:"skipFinalBackup"` @@ -207,7 +209,7 @@ type windowsFileSystemState struct { Aliases []string `pulumi:"aliases"` // Amazon Resource Name of the file system. Arn *string `pulumi:"arn"` - // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. AuditLogConfiguration *WindowsFileSystemAuditLogConfiguration `pulumi:"auditLogConfiguration"` // The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"` @@ -219,6 +221,8 @@ type windowsFileSystemState struct { DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"` // Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. DeploymentType *string `pulumi:"deploymentType"` + // The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + DiskIopsConfiguration *WindowsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfiguration"` // DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) DnsName *string `pulumi:"dnsName"` // ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. @@ -235,7 +239,7 @@ type windowsFileSystemState struct { RemoteAdministrationEndpoint *string `pulumi:"remoteAdministrationEndpoint"` // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. SecurityGroupIds []string `pulumi:"securityGroupIds"` - // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. SelfManagedActiveDirectory *WindowsFileSystemSelfManagedActiveDirectory `pulumi:"selfManagedActiveDirectory"` // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. SkipFinalBackup *bool `pulumi:"skipFinalBackup"` @@ -266,7 +270,7 @@ type WindowsFileSystemState struct { Aliases pulumi.StringArrayInput // Amazon Resource Name of the file system. Arn pulumi.StringPtrInput - // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. AuditLogConfiguration WindowsFileSystemAuditLogConfigurationPtrInput // The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. AutomaticBackupRetentionDays pulumi.IntPtrInput @@ -278,6 +282,8 @@ type WindowsFileSystemState struct { DailyAutomaticBackupStartTime pulumi.StringPtrInput // Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. DeploymentType pulumi.StringPtrInput + // The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + DiskIopsConfiguration WindowsFileSystemDiskIopsConfigurationPtrInput // DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) DnsName pulumi.StringPtrInput // ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. @@ -294,7 +300,7 @@ type WindowsFileSystemState struct { RemoteAdministrationEndpoint pulumi.StringPtrInput // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. SecurityGroupIds pulumi.StringArrayInput - // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. SelfManagedActiveDirectory WindowsFileSystemSelfManagedActiveDirectoryPtrInput // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. SkipFinalBackup pulumi.BoolPtrInput @@ -327,7 +333,7 @@ type windowsFileSystemArgs struct { ActiveDirectoryId *string `pulumi:"activeDirectoryId"` // An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) Aliases []string `pulumi:"aliases"` - // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. AuditLogConfiguration *WindowsFileSystemAuditLogConfiguration `pulumi:"auditLogConfiguration"` // The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"` @@ -339,13 +345,15 @@ type windowsFileSystemArgs struct { DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"` // Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. DeploymentType *string `pulumi:"deploymentType"` + // The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + DiskIopsConfiguration *WindowsFileSystemDiskIopsConfiguration `pulumi:"diskIopsConfiguration"` // ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. KmsKeyId *string `pulumi:"kmsKeyId"` // Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`. PreferredSubnetId *string `pulumi:"preferredSubnetId"` // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. SecurityGroupIds []string `pulumi:"securityGroupIds"` - // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. SelfManagedActiveDirectory *WindowsFileSystemSelfManagedActiveDirectory `pulumi:"selfManagedActiveDirectory"` // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. SkipFinalBackup *bool `pulumi:"skipFinalBackup"` @@ -371,7 +379,7 @@ type WindowsFileSystemArgs struct { ActiveDirectoryId pulumi.StringPtrInput // An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) Aliases pulumi.StringArrayInput - // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + // The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. AuditLogConfiguration WindowsFileSystemAuditLogConfigurationPtrInput // The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. AutomaticBackupRetentionDays pulumi.IntPtrInput @@ -383,13 +391,15 @@ type WindowsFileSystemArgs struct { DailyAutomaticBackupStartTime pulumi.StringPtrInput // Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. DeploymentType pulumi.StringPtrInput + // The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + DiskIopsConfiguration WindowsFileSystemDiskIopsConfigurationPtrInput // ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. KmsKeyId pulumi.StringPtrInput // Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`. PreferredSubnetId pulumi.StringPtrInput // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. SecurityGroupIds pulumi.StringArrayInput - // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + // Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. SelfManagedActiveDirectory WindowsFileSystemSelfManagedActiveDirectoryPtrInput // When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. SkipFinalBackup pulumi.BoolPtrInput @@ -535,7 +545,7 @@ func (o WindowsFileSystemOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *WindowsFileSystem) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. +// The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. func (o WindowsFileSystemOutput) AuditLogConfiguration() WindowsFileSystemAuditLogConfigurationOutput { return o.ApplyT(func(v *WindowsFileSystem) WindowsFileSystemAuditLogConfigurationOutput { return v.AuditLogConfiguration @@ -567,6 +577,13 @@ func (o WindowsFileSystemOutput) DeploymentType() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsFileSystem) pulumi.StringPtrOutput { return v.DeploymentType }).(pulumi.StringPtrOutput) } +// The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. +func (o WindowsFileSystemOutput) DiskIopsConfiguration() WindowsFileSystemDiskIopsConfigurationOutput { + return o.ApplyT(func(v *WindowsFileSystem) WindowsFileSystemDiskIopsConfigurationOutput { + return v.DiskIopsConfiguration + }).(WindowsFileSystemDiskIopsConfigurationOutput) +} + // DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) func (o WindowsFileSystemOutput) DnsName() pulumi.StringOutput { return o.ApplyT(func(v *WindowsFileSystem) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) @@ -607,7 +624,7 @@ func (o WindowsFileSystemOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *WindowsFileSystem) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) } -// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. +// Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. func (o WindowsFileSystemOutput) SelfManagedActiveDirectory() WindowsFileSystemSelfManagedActiveDirectoryPtrOutput { return o.ApplyT(func(v *WindowsFileSystem) WindowsFileSystemSelfManagedActiveDirectoryPtrOutput { return v.SelfManagedActiveDirectory diff --git a/sdk/go/aws/gamelift/gameServerGroup.go b/sdk/go/aws/gamelift/gameServerGroup.go index ddbb9878ece..dfe55f5fed1 100644 --- a/sdk/go/aws/gamelift/gameServerGroup.go +++ b/sdk/go/aws/gamelift/gameServerGroup.go @@ -180,13 +180,11 @@ import ( // // ## Import // -// Using `pulumi import`, import GameLift Game Server Group using the `name`. For example: +// In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import { // -// ```sh +// to = aws_gamelift_game_server_group.example // -// $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example -// -// ``` +// id = "example" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example type GameServerGroup struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/getDefaultTags.go b/sdk/go/aws/getDefaultTags.go index f86a984cba8..cbec6046cfe 100644 --- a/sdk/go/aws/getDefaultTags.go +++ b/sdk/go/aws/getDefaultTags.go @@ -14,7 +14,7 @@ import ( // Use this data source to get the default tags configured on the provider. // -// With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. +// With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. // // ## Example Usage // ### Basic Usage diff --git a/sdk/go/aws/glue/catalogTable.go b/sdk/go/aws/glue/catalogTable.go index 9e917938e8c..05a62c334f3 100644 --- a/sdk/go/aws/glue/catalogTable.go +++ b/sdk/go/aws/glue/catalogTable.go @@ -135,6 +135,8 @@ type CatalogTable struct { Description pulumi.StringPtrOutput `pulumi:"description"` // Name of the table. For Hive compatibility, this must be entirely lowercase. Name pulumi.StringOutput `pulumi:"name"` + // Configuration block for open table formats. See `openTableFormatInput` below. + OpenTableFormatInput CatalogTableOpenTableFormatInputPtrOutput `pulumi:"openTableFormatInput"` // Owner of the table. Owner pulumi.StringPtrOutput `pulumi:"owner"` // Properties associated with this table, as a list of key-value pairs. @@ -202,6 +204,8 @@ type catalogTableState struct { Description *string `pulumi:"description"` // Name of the table. For Hive compatibility, this must be entirely lowercase. Name *string `pulumi:"name"` + // Configuration block for open table formats. See `openTableFormatInput` below. + OpenTableFormatInput *CatalogTableOpenTableFormatInput `pulumi:"openTableFormatInput"` // Owner of the table. Owner *string `pulumi:"owner"` // Properties associated with this table, as a list of key-value pairs. @@ -237,6 +241,8 @@ type CatalogTableState struct { Description pulumi.StringPtrInput // Name of the table. For Hive compatibility, this must be entirely lowercase. Name pulumi.StringPtrInput + // Configuration block for open table formats. See `openTableFormatInput` below. + OpenTableFormatInput CatalogTableOpenTableFormatInputPtrInput // Owner of the table. Owner pulumi.StringPtrInput // Properties associated with this table, as a list of key-value pairs. @@ -274,6 +280,8 @@ type catalogTableArgs struct { Description *string `pulumi:"description"` // Name of the table. For Hive compatibility, this must be entirely lowercase. Name *string `pulumi:"name"` + // Configuration block for open table formats. See `openTableFormatInput` below. + OpenTableFormatInput *CatalogTableOpenTableFormatInput `pulumi:"openTableFormatInput"` // Owner of the table. Owner *string `pulumi:"owner"` // Properties associated with this table, as a list of key-value pairs. @@ -308,6 +316,8 @@ type CatalogTableArgs struct { Description pulumi.StringPtrInput // Name of the table. For Hive compatibility, this must be entirely lowercase. Name pulumi.StringPtrInput + // Configuration block for open table formats. See `openTableFormatInput` below. + OpenTableFormatInput CatalogTableOpenTableFormatInputPtrInput // Owner of the table. Owner pulumi.StringPtrInput // Properties associated with this table, as a list of key-value pairs. @@ -468,6 +478,11 @@ func (o CatalogTableOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *CatalogTable) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// Configuration block for open table formats. See `openTableFormatInput` below. +func (o CatalogTableOutput) OpenTableFormatInput() CatalogTableOpenTableFormatInputPtrOutput { + return o.ApplyT(func(v *CatalogTable) CatalogTableOpenTableFormatInputPtrOutput { return v.OpenTableFormatInput }).(CatalogTableOpenTableFormatInputPtrOutput) +} + // Owner of the table. func (o CatalogTableOutput) Owner() pulumi.StringPtrOutput { return o.ApplyT(func(v *CatalogTable) pulumi.StringPtrOutput { return v.Owner }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/glue/devEndpoint.go b/sdk/go/aws/glue/devEndpoint.go index e11e3e71a44..d77b8093731 100644 --- a/sdk/go/aws/glue/devEndpoint.go +++ b/sdk/go/aws/glue/devEndpoint.go @@ -79,13 +79,11 @@ import ( // // ## Import // -// Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example: +// In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import { // -// ```sh +// to = aws_glue_dev_endpoint.example // -// $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo -// -// ``` +// id = "foo" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo type DevEndpoint struct { pulumi.CustomResourceState @@ -127,7 +125,7 @@ type DevEndpoint struct { Status pulumi.StringOutput `pulumi:"status"` // The subnet ID for the new endpoint to use. SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` - // 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. + // 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. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -212,7 +210,7 @@ type devEndpointState struct { Status *string `pulumi:"status"` // The subnet ID for the new endpoint to use. SubnetId *string `pulumi:"subnetId"` - // 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. + // 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. TagsAll map[string]string `pulumi:"tagsAll"` @@ -265,7 +263,7 @@ type DevEndpointState struct { Status pulumi.StringPtrInput // The subnet ID for the new endpoint to use. SubnetId 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. + // 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. TagsAll pulumi.StringMapInput @@ -310,7 +308,7 @@ type devEndpointArgs struct { SecurityGroupIds []string `pulumi:"securityGroupIds"` // The subnet ID for the new endpoint to use. SubnetId *string `pulumi:"subnetId"` - // 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. + // 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 type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X. WorkerType *string `pulumi:"workerType"` @@ -344,7 +342,7 @@ type DevEndpointArgs struct { SecurityGroupIds pulumi.StringArrayInput // The subnet ID for the new endpoint to use. SubnetId 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. + // 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 // The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X. WorkerType pulumi.StringPtrInput @@ -556,7 +554,7 @@ func (o DevEndpointOutput) SubnetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *DevEndpoint) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) } -// 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. +// 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 DevEndpointOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *DevEndpoint) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/glue/pulumiTypes.go b/sdk/go/aws/glue/pulumiTypes.go index 41994dcef14..940a50b7896 100644 --- a/sdk/go/aws/glue/pulumiTypes.go +++ b/sdk/go/aws/glue/pulumiTypes.go @@ -508,6 +508,349 @@ func (o CatalogDatabaseTargetDatabasePtrOutput) Region() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } +type CatalogTableOpenTableFormatInput struct { + // Configuration block for iceberg table config. See `icebergInput` below. + IcebergInput CatalogTableOpenTableFormatInputIcebergInput `pulumi:"icebergInput"` +} + +// CatalogTableOpenTableFormatInputInput is an input type that accepts CatalogTableOpenTableFormatInputArgs and CatalogTableOpenTableFormatInputOutput values. +// You can construct a concrete instance of `CatalogTableOpenTableFormatInputInput` via: +// +// CatalogTableOpenTableFormatInputArgs{...} +type CatalogTableOpenTableFormatInputInput interface { + pulumi.Input + + ToCatalogTableOpenTableFormatInputOutput() CatalogTableOpenTableFormatInputOutput + ToCatalogTableOpenTableFormatInputOutputWithContext(context.Context) CatalogTableOpenTableFormatInputOutput +} + +type CatalogTableOpenTableFormatInputArgs struct { + // Configuration block for iceberg table config. See `icebergInput` below. + IcebergInput CatalogTableOpenTableFormatInputIcebergInputInput `pulumi:"icebergInput"` +} + +func (CatalogTableOpenTableFormatInputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOpenTableFormatInput)(nil)).Elem() +} + +func (i CatalogTableOpenTableFormatInputArgs) ToCatalogTableOpenTableFormatInputOutput() CatalogTableOpenTableFormatInputOutput { + return i.ToCatalogTableOpenTableFormatInputOutputWithContext(context.Background()) +} + +func (i CatalogTableOpenTableFormatInputArgs) ToCatalogTableOpenTableFormatInputOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOpenTableFormatInputOutput) +} + +func (i CatalogTableOpenTableFormatInputArgs) ToOutput(ctx context.Context) pulumix.Output[CatalogTableOpenTableFormatInput] { + return pulumix.Output[CatalogTableOpenTableFormatInput]{ + OutputState: i.ToCatalogTableOpenTableFormatInputOutputWithContext(ctx).OutputState, + } +} + +func (i CatalogTableOpenTableFormatInputArgs) ToCatalogTableOpenTableFormatInputPtrOutput() CatalogTableOpenTableFormatInputPtrOutput { + return i.ToCatalogTableOpenTableFormatInputPtrOutputWithContext(context.Background()) +} + +func (i CatalogTableOpenTableFormatInputArgs) ToCatalogTableOpenTableFormatInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOpenTableFormatInputOutput).ToCatalogTableOpenTableFormatInputPtrOutputWithContext(ctx) +} + +// CatalogTableOpenTableFormatInputPtrInput is an input type that accepts CatalogTableOpenTableFormatInputArgs, CatalogTableOpenTableFormatInputPtr and CatalogTableOpenTableFormatInputPtrOutput values. +// You can construct a concrete instance of `CatalogTableOpenTableFormatInputPtrInput` via: +// +// CatalogTableOpenTableFormatInputArgs{...} +// +// or: +// +// nil +type CatalogTableOpenTableFormatInputPtrInput interface { + pulumi.Input + + ToCatalogTableOpenTableFormatInputPtrOutput() CatalogTableOpenTableFormatInputPtrOutput + ToCatalogTableOpenTableFormatInputPtrOutputWithContext(context.Context) CatalogTableOpenTableFormatInputPtrOutput +} + +type catalogTableOpenTableFormatInputPtrType CatalogTableOpenTableFormatInputArgs + +func CatalogTableOpenTableFormatInputPtr(v *CatalogTableOpenTableFormatInputArgs) CatalogTableOpenTableFormatInputPtrInput { + return (*catalogTableOpenTableFormatInputPtrType)(v) +} + +func (*catalogTableOpenTableFormatInputPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOpenTableFormatInput)(nil)).Elem() +} + +func (i *catalogTableOpenTableFormatInputPtrType) ToCatalogTableOpenTableFormatInputPtrOutput() CatalogTableOpenTableFormatInputPtrOutput { + return i.ToCatalogTableOpenTableFormatInputPtrOutputWithContext(context.Background()) +} + +func (i *catalogTableOpenTableFormatInputPtrType) ToCatalogTableOpenTableFormatInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOpenTableFormatInputPtrOutput) +} + +func (i *catalogTableOpenTableFormatInputPtrType) ToOutput(ctx context.Context) pulumix.Output[*CatalogTableOpenTableFormatInput] { + return pulumix.Output[*CatalogTableOpenTableFormatInput]{ + OutputState: i.ToCatalogTableOpenTableFormatInputPtrOutputWithContext(ctx).OutputState, + } +} + +type CatalogTableOpenTableFormatInputOutput struct{ *pulumi.OutputState } + +func (CatalogTableOpenTableFormatInputOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOpenTableFormatInput)(nil)).Elem() +} + +func (o CatalogTableOpenTableFormatInputOutput) ToCatalogTableOpenTableFormatInputOutput() CatalogTableOpenTableFormatInputOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputOutput) ToCatalogTableOpenTableFormatInputOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputOutput) ToCatalogTableOpenTableFormatInputPtrOutput() CatalogTableOpenTableFormatInputPtrOutput { + return o.ToCatalogTableOpenTableFormatInputPtrOutputWithContext(context.Background()) +} + +func (o CatalogTableOpenTableFormatInputOutput) ToCatalogTableOpenTableFormatInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogTableOpenTableFormatInput) *CatalogTableOpenTableFormatInput { + return &v + }).(CatalogTableOpenTableFormatInputPtrOutput) +} + +func (o CatalogTableOpenTableFormatInputOutput) ToOutput(ctx context.Context) pulumix.Output[CatalogTableOpenTableFormatInput] { + return pulumix.Output[CatalogTableOpenTableFormatInput]{ + OutputState: o.OutputState, + } +} + +// Configuration block for iceberg table config. See `icebergInput` below. +func (o CatalogTableOpenTableFormatInputOutput) IcebergInput() CatalogTableOpenTableFormatInputIcebergInputOutput { + return o.ApplyT(func(v CatalogTableOpenTableFormatInput) CatalogTableOpenTableFormatInputIcebergInput { + return v.IcebergInput + }).(CatalogTableOpenTableFormatInputIcebergInputOutput) +} + +type CatalogTableOpenTableFormatInputPtrOutput struct{ *pulumi.OutputState } + +func (CatalogTableOpenTableFormatInputPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOpenTableFormatInput)(nil)).Elem() +} + +func (o CatalogTableOpenTableFormatInputPtrOutput) ToCatalogTableOpenTableFormatInputPtrOutput() CatalogTableOpenTableFormatInputPtrOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputPtrOutput) ToCatalogTableOpenTableFormatInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputPtrOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CatalogTableOpenTableFormatInput] { + return pulumix.Output[*CatalogTableOpenTableFormatInput]{ + OutputState: o.OutputState, + } +} + +func (o CatalogTableOpenTableFormatInputPtrOutput) Elem() CatalogTableOpenTableFormatInputOutput { + return o.ApplyT(func(v *CatalogTableOpenTableFormatInput) CatalogTableOpenTableFormatInput { + if v != nil { + return *v + } + var ret CatalogTableOpenTableFormatInput + return ret + }).(CatalogTableOpenTableFormatInputOutput) +} + +// Configuration block for iceberg table config. See `icebergInput` below. +func (o CatalogTableOpenTableFormatInputPtrOutput) IcebergInput() CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return o.ApplyT(func(v *CatalogTableOpenTableFormatInput) *CatalogTableOpenTableFormatInputIcebergInput { + if v == nil { + return nil + } + return &v.IcebergInput + }).(CatalogTableOpenTableFormatInputIcebergInputPtrOutput) +} + +type CatalogTableOpenTableFormatInputIcebergInput struct { + // A required metadata operation. Can only be set to CREATE. + MetadataOperation string `pulumi:"metadataOperation"` + // The table version for the Iceberg table. Defaults to 2. + Version *string `pulumi:"version"` +} + +// CatalogTableOpenTableFormatInputIcebergInputInput is an input type that accepts CatalogTableOpenTableFormatInputIcebergInputArgs and CatalogTableOpenTableFormatInputIcebergInputOutput values. +// You can construct a concrete instance of `CatalogTableOpenTableFormatInputIcebergInputInput` via: +// +// CatalogTableOpenTableFormatInputIcebergInputArgs{...} +type CatalogTableOpenTableFormatInputIcebergInputInput interface { + pulumi.Input + + ToCatalogTableOpenTableFormatInputIcebergInputOutput() CatalogTableOpenTableFormatInputIcebergInputOutput + ToCatalogTableOpenTableFormatInputIcebergInputOutputWithContext(context.Context) CatalogTableOpenTableFormatInputIcebergInputOutput +} + +type CatalogTableOpenTableFormatInputIcebergInputArgs struct { + // A required metadata operation. Can only be set to CREATE. + MetadataOperation pulumi.StringInput `pulumi:"metadataOperation"` + // The table version for the Iceberg table. Defaults to 2. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (CatalogTableOpenTableFormatInputIcebergInputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOpenTableFormatInputIcebergInput)(nil)).Elem() +} + +func (i CatalogTableOpenTableFormatInputIcebergInputArgs) ToCatalogTableOpenTableFormatInputIcebergInputOutput() CatalogTableOpenTableFormatInputIcebergInputOutput { + return i.ToCatalogTableOpenTableFormatInputIcebergInputOutputWithContext(context.Background()) +} + +func (i CatalogTableOpenTableFormatInputIcebergInputArgs) ToCatalogTableOpenTableFormatInputIcebergInputOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputIcebergInputOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOpenTableFormatInputIcebergInputOutput) +} + +func (i CatalogTableOpenTableFormatInputIcebergInputArgs) ToOutput(ctx context.Context) pulumix.Output[CatalogTableOpenTableFormatInputIcebergInput] { + return pulumix.Output[CatalogTableOpenTableFormatInputIcebergInput]{ + OutputState: i.ToCatalogTableOpenTableFormatInputIcebergInputOutputWithContext(ctx).OutputState, + } +} + +func (i CatalogTableOpenTableFormatInputIcebergInputArgs) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutput() CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return i.ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(context.Background()) +} + +func (i CatalogTableOpenTableFormatInputIcebergInputArgs) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOpenTableFormatInputIcebergInputOutput).ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(ctx) +} + +// CatalogTableOpenTableFormatInputIcebergInputPtrInput is an input type that accepts CatalogTableOpenTableFormatInputIcebergInputArgs, CatalogTableOpenTableFormatInputIcebergInputPtr and CatalogTableOpenTableFormatInputIcebergInputPtrOutput values. +// You can construct a concrete instance of `CatalogTableOpenTableFormatInputIcebergInputPtrInput` via: +// +// CatalogTableOpenTableFormatInputIcebergInputArgs{...} +// +// or: +// +// nil +type CatalogTableOpenTableFormatInputIcebergInputPtrInput interface { + pulumi.Input + + ToCatalogTableOpenTableFormatInputIcebergInputPtrOutput() CatalogTableOpenTableFormatInputIcebergInputPtrOutput + ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(context.Context) CatalogTableOpenTableFormatInputIcebergInputPtrOutput +} + +type catalogTableOpenTableFormatInputIcebergInputPtrType CatalogTableOpenTableFormatInputIcebergInputArgs + +func CatalogTableOpenTableFormatInputIcebergInputPtr(v *CatalogTableOpenTableFormatInputIcebergInputArgs) CatalogTableOpenTableFormatInputIcebergInputPtrInput { + return (*catalogTableOpenTableFormatInputIcebergInputPtrType)(v) +} + +func (*catalogTableOpenTableFormatInputIcebergInputPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOpenTableFormatInputIcebergInput)(nil)).Elem() +} + +func (i *catalogTableOpenTableFormatInputIcebergInputPtrType) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutput() CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return i.ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(context.Background()) +} + +func (i *catalogTableOpenTableFormatInputIcebergInputPtrType) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogTableOpenTableFormatInputIcebergInputPtrOutput) +} + +func (i *catalogTableOpenTableFormatInputIcebergInputPtrType) ToOutput(ctx context.Context) pulumix.Output[*CatalogTableOpenTableFormatInputIcebergInput] { + return pulumix.Output[*CatalogTableOpenTableFormatInputIcebergInput]{ + OutputState: i.ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(ctx).OutputState, + } +} + +type CatalogTableOpenTableFormatInputIcebergInputOutput struct{ *pulumi.OutputState } + +func (CatalogTableOpenTableFormatInputIcebergInputOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogTableOpenTableFormatInputIcebergInput)(nil)).Elem() +} + +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) ToCatalogTableOpenTableFormatInputIcebergInputOutput() CatalogTableOpenTableFormatInputIcebergInputOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) ToCatalogTableOpenTableFormatInputIcebergInputOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputIcebergInputOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutput() CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return o.ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(context.Background()) +} + +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogTableOpenTableFormatInputIcebergInput) *CatalogTableOpenTableFormatInputIcebergInput { + return &v + }).(CatalogTableOpenTableFormatInputIcebergInputPtrOutput) +} + +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) ToOutput(ctx context.Context) pulumix.Output[CatalogTableOpenTableFormatInputIcebergInput] { + return pulumix.Output[CatalogTableOpenTableFormatInputIcebergInput]{ + OutputState: o.OutputState, + } +} + +// A required metadata operation. Can only be set to CREATE. +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) MetadataOperation() pulumi.StringOutput { + return o.ApplyT(func(v CatalogTableOpenTableFormatInputIcebergInput) string { return v.MetadataOperation }).(pulumi.StringOutput) +} + +// The table version for the Iceberg table. Defaults to 2. +func (o CatalogTableOpenTableFormatInputIcebergInputOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v CatalogTableOpenTableFormatInputIcebergInput) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type CatalogTableOpenTableFormatInputIcebergInputPtrOutput struct{ *pulumi.OutputState } + +func (CatalogTableOpenTableFormatInputIcebergInputPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogTableOpenTableFormatInputIcebergInput)(nil)).Elem() +} + +func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutput() CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) ToCatalogTableOpenTableFormatInputIcebergInputPtrOutputWithContext(ctx context.Context) CatalogTableOpenTableFormatInputIcebergInputPtrOutput { + return o +} + +func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CatalogTableOpenTableFormatInputIcebergInput] { + return pulumix.Output[*CatalogTableOpenTableFormatInputIcebergInput]{ + OutputState: o.OutputState, + } +} + +func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) Elem() CatalogTableOpenTableFormatInputIcebergInputOutput { + return o.ApplyT(func(v *CatalogTableOpenTableFormatInputIcebergInput) CatalogTableOpenTableFormatInputIcebergInput { + if v != nil { + return *v + } + var ret CatalogTableOpenTableFormatInputIcebergInput + return ret + }).(CatalogTableOpenTableFormatInputIcebergInputOutput) +} + +// A required metadata operation. Can only be set to CREATE. +func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) MetadataOperation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogTableOpenTableFormatInputIcebergInput) *string { + if v == nil { + return nil + } + return &v.MetadataOperation + }).(pulumi.StringPtrOutput) +} + +// The table version for the Iceberg table. Defaults to 2. +func (o CatalogTableOpenTableFormatInputIcebergInputPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogTableOpenTableFormatInputIcebergInput) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + type CatalogTablePartitionIndex struct { // Name of the partition index. IndexName string `pulumi:"indexName"` @@ -12703,6 +13046,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CatalogDatabaseCreateTableDefaultPermissionPrincipalPtrInput)(nil)).Elem(), CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogDatabaseTargetDatabaseInput)(nil)).Elem(), CatalogDatabaseTargetDatabaseArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogDatabaseTargetDatabasePtrInput)(nil)).Elem(), CatalogDatabaseTargetDatabaseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOpenTableFormatInputInput)(nil)).Elem(), CatalogTableOpenTableFormatInputArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOpenTableFormatInputPtrInput)(nil)).Elem(), CatalogTableOpenTableFormatInputArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOpenTableFormatInputIcebergInputInput)(nil)).Elem(), CatalogTableOpenTableFormatInputIcebergInputArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogTableOpenTableFormatInputIcebergInputPtrInput)(nil)).Elem(), CatalogTableOpenTableFormatInputIcebergInputArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTablePartitionIndexInput)(nil)).Elem(), CatalogTablePartitionIndexArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTablePartitionIndexArrayInput)(nil)).Elem(), CatalogTablePartitionIndexArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CatalogTablePartitionKeyInput)(nil)).Elem(), CatalogTablePartitionKeyArgs{}) @@ -12851,6 +13198,10 @@ func init() { pulumi.RegisterOutputType(CatalogDatabaseCreateTableDefaultPermissionPrincipalPtrOutput{}) pulumi.RegisterOutputType(CatalogDatabaseTargetDatabaseOutput{}) pulumi.RegisterOutputType(CatalogDatabaseTargetDatabasePtrOutput{}) + pulumi.RegisterOutputType(CatalogTableOpenTableFormatInputOutput{}) + pulumi.RegisterOutputType(CatalogTableOpenTableFormatInputPtrOutput{}) + pulumi.RegisterOutputType(CatalogTableOpenTableFormatInputIcebergInputOutput{}) + pulumi.RegisterOutputType(CatalogTableOpenTableFormatInputIcebergInputPtrOutput{}) pulumi.RegisterOutputType(CatalogTablePartitionIndexOutput{}) pulumi.RegisterOutputType(CatalogTablePartitionIndexArrayOutput{}) pulumi.RegisterOutputType(CatalogTablePartitionKeyOutput{}) diff --git a/sdk/go/aws/iam/getSessionContext.go b/sdk/go/aws/iam/getSessionContext.go index 260b6c38d49..b671d078ea3 100644 --- a/sdk/go/aws/iam/getSessionContext.go +++ b/sdk/go/aws/iam/getSessionContext.go @@ -42,7 +42,7 @@ import ( // } // // ``` -// ### Find the Provider's Source Role +// ### Find the TODO Runner's Source Role // // Combined with `getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. // @@ -88,7 +88,7 @@ func GetSessionContext(ctx *pulumi.Context, args *GetSessionContextArgs, opts .. type GetSessionContextArgs struct { // ARN for an assumed role. // - // > If `arn` is a non-role ARN, the provider gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + // > If `arn` is a non-role ARN, TODO gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. Arn string `pulumi:"arn"` } @@ -124,7 +124,7 @@ func GetSessionContextOutput(ctx *pulumi.Context, args GetSessionContextOutputAr type GetSessionContextOutputArgs struct { // ARN for an assumed role. // - // > If `arn` is a non-role ARN, the provider gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + // > If `arn` is a non-role ARN, TODO gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. Arn pulumi.StringInput `pulumi:"arn"` } diff --git a/sdk/go/aws/iam/groupPolicyAttachment.go b/sdk/go/aws/iam/groupPolicyAttachment.go index cda764583e7..1c46c27ef41 100644 --- a/sdk/go/aws/iam/groupPolicyAttachment.go +++ b/sdk/go/aws/iam/groupPolicyAttachment.go @@ -57,13 +57,11 @@ import ( // // ## Import // -// Using `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example: +// In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import { // -// ```sh +// to = aws_iam_group_policy_attachment.test-attach // -// $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy -// -// ``` +// id = "test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy type GroupPolicyAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/iam/rolePolicyAttachment.go b/sdk/go/aws/iam/rolePolicyAttachment.go index 32676cce12f..ee896a2560b 100644 --- a/sdk/go/aws/iam/rolePolicyAttachment.go +++ b/sdk/go/aws/iam/rolePolicyAttachment.go @@ -17,7 +17,7 @@ import ( // // > **NOTE:** The usage of this resource conflicts with the `iam.PolicyAttachment` resource and will permanently show a difference if both are defined. // -// > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managedPolicyArns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. +// > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managedPolicyArns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference. // // ## Example Usage // @@ -98,13 +98,11 @@ import ( // // ## Import // -// Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: +// In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import { // -// ```sh +// to = aws_iam_role_policy_attachment.test-attach // -// $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy -// -// ``` +// id = "test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy type RolePolicyAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/iam/userPolicyAttachment.go b/sdk/go/aws/iam/userPolicyAttachment.go index 3a2348f8417..3b8e61300a1 100644 --- a/sdk/go/aws/iam/userPolicyAttachment.go +++ b/sdk/go/aws/iam/userPolicyAttachment.go @@ -57,13 +57,11 @@ import ( // // ## Import // -// Using `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example: +// In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import { // -// ```sh +// to = aws_iam_user_policy_attachment.test-attach // -// $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy -// -// ``` +// id = "test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy type UserPolicyAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/identitystore/getGroup.go b/sdk/go/aws/identitystore/getGroup.go index 75fea7f054a..f2ebf3bb4a5 100644 --- a/sdk/go/aws/identitystore/getGroup.go +++ b/sdk/go/aws/identitystore/getGroup.go @@ -25,11 +25,15 @@ func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.Invo // A collection of arguments for invoking getGroup. type LookupGroupArgs struct { - // A unique identifier for the group that is not the primary identifier. Conflicts with `groupId`. Detailed below. + // A unique identifier for the group that is not the primary identifier. Conflicts with `groupId` and `filter`. Detailed below. AlternateIdentifier *GetGroupAlternateIdentifier `pulumi:"alternateIdentifier"` + // Configuration block for filtering by a unique attribute of the group. Detailed below. + // + // Deprecated: Use the alternate_identifier attribute instead. + Filter *GetGroupFilter `pulumi:"filter"` // The identifier for a group in the Identity Store. // - // > Exactly one of the above arguments must be provided. + // > Exactly one of the above arguments must be provided. Passing both `filter` and `groupId` is allowed for backwards compatibility. GroupId *string `pulumi:"groupId"` // Identity Store ID associated with the Single Sign-On Instance. // @@ -46,7 +50,9 @@ type LookupGroupResult struct { DisplayName string `pulumi:"displayName"` // List of identifiers issued to this resource by an external identity provider. ExternalIds []GetGroupExternalId `pulumi:"externalIds"` - GroupId string `pulumi:"groupId"` + // Deprecated: Use the alternate_identifier attribute instead. + Filter *GetGroupFilter `pulumi:"filter"` + GroupId string `pulumi:"groupId"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` IdentityStoreId string `pulumi:"identityStoreId"` @@ -67,11 +73,15 @@ func LookupGroupOutput(ctx *pulumi.Context, args LookupGroupOutputArgs, opts ... // A collection of arguments for invoking getGroup. type LookupGroupOutputArgs struct { - // A unique identifier for the group that is not the primary identifier. Conflicts with `groupId`. Detailed below. + // A unique identifier for the group that is not the primary identifier. Conflicts with `groupId` and `filter`. Detailed below. AlternateIdentifier GetGroupAlternateIdentifierPtrInput `pulumi:"alternateIdentifier"` + // Configuration block for filtering by a unique attribute of the group. Detailed below. + // + // Deprecated: Use the alternate_identifier attribute instead. + Filter GetGroupFilterPtrInput `pulumi:"filter"` // The identifier for a group in the Identity Store. // - // > Exactly one of the above arguments must be provided. + // > Exactly one of the above arguments must be provided. Passing both `filter` and `groupId` is allowed for backwards compatibility. GroupId pulumi.StringPtrInput `pulumi:"groupId"` // Identity Store ID associated with the Single Sign-On Instance. // @@ -123,6 +133,11 @@ func (o LookupGroupResultOutput) ExternalIds() GetGroupExternalIdArrayOutput { return o.ApplyT(func(v LookupGroupResult) []GetGroupExternalId { return v.ExternalIds }).(GetGroupExternalIdArrayOutput) } +// Deprecated: Use the alternate_identifier attribute instead. +func (o LookupGroupResultOutput) Filter() GetGroupFilterPtrOutput { + return o.ApplyT(func(v LookupGroupResult) *GetGroupFilter { return v.Filter }).(GetGroupFilterPtrOutput) +} + func (o LookupGroupResultOutput) GroupId() pulumi.StringOutput { return o.ApplyT(func(v LookupGroupResult) string { return v.GroupId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/identitystore/getUser.go b/sdk/go/aws/identitystore/getUser.go index c16e301a578..e532cc28cf9 100644 --- a/sdk/go/aws/identitystore/getUser.go +++ b/sdk/go/aws/identitystore/getUser.go @@ -25,15 +25,19 @@ func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.Invoke // A collection of arguments for invoking getUser. type LookupUserArgs struct { - // A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId`. Detailed below. + // A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId` and `filter`. Detailed below. AlternateIdentifier *GetUserAlternateIdentifier `pulumi:"alternateIdentifier"` + // Configuration block for filtering by a unique attribute of the user. Detailed below. + // + // Deprecated: Use the alternate_identifier attribute instead. + Filter *GetUserFilter `pulumi:"filter"` // Identity Store ID associated with the Single Sign-On Instance. // // The following arguments are optional: IdentityStoreId string `pulumi:"identityStoreId"` // The identifier for a user in the Identity Store. // - // > Exactly one of the above arguments must be provided. + // > Exactly one of the above arguments must be provided. Passing both `filter` and `userId` is allowed for backwards compatibility. UserId *string `pulumi:"userId"` } @@ -48,6 +52,8 @@ type LookupUserResult struct { Emails []GetUserEmail `pulumi:"emails"` // List of identifiers issued to this resource by an external identity provider. ExternalIds []GetUserExternalId `pulumi:"externalIds"` + // Deprecated: Use the alternate_identifier attribute instead. + Filter *GetUserFilter `pulumi:"filter"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` IdentityStoreId string `pulumi:"identityStoreId"` @@ -89,15 +95,19 @@ func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pu // A collection of arguments for invoking getUser. type LookupUserOutputArgs struct { - // A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId`. Detailed below. + // A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId` and `filter`. Detailed below. AlternateIdentifier GetUserAlternateIdentifierPtrInput `pulumi:"alternateIdentifier"` + // Configuration block for filtering by a unique attribute of the user. Detailed below. + // + // Deprecated: Use the alternate_identifier attribute instead. + Filter GetUserFilterPtrInput `pulumi:"filter"` // Identity Store ID associated with the Single Sign-On Instance. // // The following arguments are optional: IdentityStoreId pulumi.StringInput `pulumi:"identityStoreId"` // The identifier for a user in the Identity Store. // - // > Exactly one of the above arguments must be provided. + // > Exactly one of the above arguments must be provided. Passing both `filter` and `userId` is allowed for backwards compatibility. UserId pulumi.StringPtrInput `pulumi:"userId"` } @@ -150,6 +160,11 @@ func (o LookupUserResultOutput) ExternalIds() GetUserExternalIdArrayOutput { return o.ApplyT(func(v LookupUserResult) []GetUserExternalId { return v.ExternalIds }).(GetUserExternalIdArrayOutput) } +// Deprecated: Use the alternate_identifier attribute instead. +func (o LookupUserResultOutput) Filter() GetUserFilterPtrOutput { + return o.ApplyT(func(v LookupUserResult) *GetUserFilter { return v.Filter }).(GetUserFilterPtrOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupUserResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/aws/identitystore/pulumiTypes.go b/sdk/go/aws/identitystore/pulumiTypes.go index bf5419afd94..937744c172c 100644 --- a/sdk/go/aws/identitystore/pulumiTypes.go +++ b/sdk/go/aws/identitystore/pulumiTypes.go @@ -1910,6 +1910,186 @@ func (o GetGroupExternalIdArrayOutput) Index(i pulumi.IntInput) GetGroupExternal }).(GetGroupExternalIdOutput) } +type GetGroupFilter struct { + // Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + AttributePath string `pulumi:"attributePath"` + // Value for an attribute. + AttributeValue string `pulumi:"attributeValue"` +} + +// GetGroupFilterInput is an input type that accepts GetGroupFilterArgs and GetGroupFilterOutput values. +// You can construct a concrete instance of `GetGroupFilterInput` via: +// +// GetGroupFilterArgs{...} +type GetGroupFilterInput interface { + pulumi.Input + + ToGetGroupFilterOutput() GetGroupFilterOutput + ToGetGroupFilterOutputWithContext(context.Context) GetGroupFilterOutput +} + +type GetGroupFilterArgs struct { + // Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + AttributePath pulumi.StringInput `pulumi:"attributePath"` + // Value for an attribute. + AttributeValue pulumi.StringInput `pulumi:"attributeValue"` +} + +func (GetGroupFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupFilter)(nil)).Elem() +} + +func (i GetGroupFilterArgs) ToGetGroupFilterOutput() GetGroupFilterOutput { + return i.ToGetGroupFilterOutputWithContext(context.Background()) +} + +func (i GetGroupFilterArgs) ToGetGroupFilterOutputWithContext(ctx context.Context) GetGroupFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupFilterOutput) +} + +func (i GetGroupFilterArgs) ToOutput(ctx context.Context) pulumix.Output[GetGroupFilter] { + return pulumix.Output[GetGroupFilter]{ + OutputState: i.ToGetGroupFilterOutputWithContext(ctx).OutputState, + } +} + +func (i GetGroupFilterArgs) ToGetGroupFilterPtrOutput() GetGroupFilterPtrOutput { + return i.ToGetGroupFilterPtrOutputWithContext(context.Background()) +} + +func (i GetGroupFilterArgs) ToGetGroupFilterPtrOutputWithContext(ctx context.Context) GetGroupFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupFilterOutput).ToGetGroupFilterPtrOutputWithContext(ctx) +} + +// GetGroupFilterPtrInput is an input type that accepts GetGroupFilterArgs, GetGroupFilterPtr and GetGroupFilterPtrOutput values. +// You can construct a concrete instance of `GetGroupFilterPtrInput` via: +// +// GetGroupFilterArgs{...} +// +// or: +// +// nil +type GetGroupFilterPtrInput interface { + pulumi.Input + + ToGetGroupFilterPtrOutput() GetGroupFilterPtrOutput + ToGetGroupFilterPtrOutputWithContext(context.Context) GetGroupFilterPtrOutput +} + +type getGroupFilterPtrType GetGroupFilterArgs + +func GetGroupFilterPtr(v *GetGroupFilterArgs) GetGroupFilterPtrInput { + return (*getGroupFilterPtrType)(v) +} + +func (*getGroupFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetGroupFilter)(nil)).Elem() +} + +func (i *getGroupFilterPtrType) ToGetGroupFilterPtrOutput() GetGroupFilterPtrOutput { + return i.ToGetGroupFilterPtrOutputWithContext(context.Background()) +} + +func (i *getGroupFilterPtrType) ToGetGroupFilterPtrOutputWithContext(ctx context.Context) GetGroupFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupFilterPtrOutput) +} + +func (i *getGroupFilterPtrType) ToOutput(ctx context.Context) pulumix.Output[*GetGroupFilter] { + return pulumix.Output[*GetGroupFilter]{ + OutputState: i.ToGetGroupFilterPtrOutputWithContext(ctx).OutputState, + } +} + +type GetGroupFilterOutput struct{ *pulumi.OutputState } + +func (GetGroupFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupFilter)(nil)).Elem() +} + +func (o GetGroupFilterOutput) ToGetGroupFilterOutput() GetGroupFilterOutput { + return o +} + +func (o GetGroupFilterOutput) ToGetGroupFilterOutputWithContext(ctx context.Context) GetGroupFilterOutput { + return o +} + +func (o GetGroupFilterOutput) ToGetGroupFilterPtrOutput() GetGroupFilterPtrOutput { + return o.ToGetGroupFilterPtrOutputWithContext(context.Background()) +} + +func (o GetGroupFilterOutput) ToGetGroupFilterPtrOutputWithContext(ctx context.Context) GetGroupFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetGroupFilter) *GetGroupFilter { + return &v + }).(GetGroupFilterPtrOutput) +} + +func (o GetGroupFilterOutput) ToOutput(ctx context.Context) pulumix.Output[GetGroupFilter] { + return pulumix.Output[GetGroupFilter]{ + OutputState: o.OutputState, + } +} + +// Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. +func (o GetGroupFilterOutput) AttributePath() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupFilter) string { return v.AttributePath }).(pulumi.StringOutput) +} + +// Value for an attribute. +func (o GetGroupFilterOutput) AttributeValue() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupFilter) string { return v.AttributeValue }).(pulumi.StringOutput) +} + +type GetGroupFilterPtrOutput struct{ *pulumi.OutputState } + +func (GetGroupFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetGroupFilter)(nil)).Elem() +} + +func (o GetGroupFilterPtrOutput) ToGetGroupFilterPtrOutput() GetGroupFilterPtrOutput { + return o +} + +func (o GetGroupFilterPtrOutput) ToGetGroupFilterPtrOutputWithContext(ctx context.Context) GetGroupFilterPtrOutput { + return o +} + +func (o GetGroupFilterPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*GetGroupFilter] { + return pulumix.Output[*GetGroupFilter]{ + OutputState: o.OutputState, + } +} + +func (o GetGroupFilterPtrOutput) Elem() GetGroupFilterOutput { + return o.ApplyT(func(v *GetGroupFilter) GetGroupFilter { + if v != nil { + return *v + } + var ret GetGroupFilter + return ret + }).(GetGroupFilterOutput) +} + +// Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. +func (o GetGroupFilterPtrOutput) AttributePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetGroupFilter) *string { + if v == nil { + return nil + } + return &v.AttributePath + }).(pulumi.StringPtrOutput) +} + +// Value for an attribute. +func (o GetGroupFilterPtrOutput) AttributeValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetGroupFilter) *string { + if v == nil { + return nil + } + return &v.AttributeValue + }).(pulumi.StringPtrOutput) +} + type GetUserAddress struct { // The country that this address is in. Country string `pulumi:"country"` @@ -2913,6 +3093,186 @@ func (o GetUserExternalIdArrayOutput) Index(i pulumi.IntInput) GetUserExternalId }).(GetUserExternalIdOutput) } +type GetUserFilter struct { + // Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + AttributePath string `pulumi:"attributePath"` + // Value for an attribute. + AttributeValue string `pulumi:"attributeValue"` +} + +// GetUserFilterInput is an input type that accepts GetUserFilterArgs and GetUserFilterOutput values. +// You can construct a concrete instance of `GetUserFilterInput` via: +// +// GetUserFilterArgs{...} +type GetUserFilterInput interface { + pulumi.Input + + ToGetUserFilterOutput() GetUserFilterOutput + ToGetUserFilterOutputWithContext(context.Context) GetUserFilterOutput +} + +type GetUserFilterArgs struct { + // Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + AttributePath pulumi.StringInput `pulumi:"attributePath"` + // Value for an attribute. + AttributeValue pulumi.StringInput `pulumi:"attributeValue"` +} + +func (GetUserFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetUserFilter)(nil)).Elem() +} + +func (i GetUserFilterArgs) ToGetUserFilterOutput() GetUserFilterOutput { + return i.ToGetUserFilterOutputWithContext(context.Background()) +} + +func (i GetUserFilterArgs) ToGetUserFilterOutputWithContext(ctx context.Context) GetUserFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetUserFilterOutput) +} + +func (i GetUserFilterArgs) ToOutput(ctx context.Context) pulumix.Output[GetUserFilter] { + return pulumix.Output[GetUserFilter]{ + OutputState: i.ToGetUserFilterOutputWithContext(ctx).OutputState, + } +} + +func (i GetUserFilterArgs) ToGetUserFilterPtrOutput() GetUserFilterPtrOutput { + return i.ToGetUserFilterPtrOutputWithContext(context.Background()) +} + +func (i GetUserFilterArgs) ToGetUserFilterPtrOutputWithContext(ctx context.Context) GetUserFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetUserFilterOutput).ToGetUserFilterPtrOutputWithContext(ctx) +} + +// GetUserFilterPtrInput is an input type that accepts GetUserFilterArgs, GetUserFilterPtr and GetUserFilterPtrOutput values. +// You can construct a concrete instance of `GetUserFilterPtrInput` via: +// +// GetUserFilterArgs{...} +// +// or: +// +// nil +type GetUserFilterPtrInput interface { + pulumi.Input + + ToGetUserFilterPtrOutput() GetUserFilterPtrOutput + ToGetUserFilterPtrOutputWithContext(context.Context) GetUserFilterPtrOutput +} + +type getUserFilterPtrType GetUserFilterArgs + +func GetUserFilterPtr(v *GetUserFilterArgs) GetUserFilterPtrInput { + return (*getUserFilterPtrType)(v) +} + +func (*getUserFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetUserFilter)(nil)).Elem() +} + +func (i *getUserFilterPtrType) ToGetUserFilterPtrOutput() GetUserFilterPtrOutput { + return i.ToGetUserFilterPtrOutputWithContext(context.Background()) +} + +func (i *getUserFilterPtrType) ToGetUserFilterPtrOutputWithContext(ctx context.Context) GetUserFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetUserFilterPtrOutput) +} + +func (i *getUserFilterPtrType) ToOutput(ctx context.Context) pulumix.Output[*GetUserFilter] { + return pulumix.Output[*GetUserFilter]{ + OutputState: i.ToGetUserFilterPtrOutputWithContext(ctx).OutputState, + } +} + +type GetUserFilterOutput struct{ *pulumi.OutputState } + +func (GetUserFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetUserFilter)(nil)).Elem() +} + +func (o GetUserFilterOutput) ToGetUserFilterOutput() GetUserFilterOutput { + return o +} + +func (o GetUserFilterOutput) ToGetUserFilterOutputWithContext(ctx context.Context) GetUserFilterOutput { + return o +} + +func (o GetUserFilterOutput) ToGetUserFilterPtrOutput() GetUserFilterPtrOutput { + return o.ToGetUserFilterPtrOutputWithContext(context.Background()) +} + +func (o GetUserFilterOutput) ToGetUserFilterPtrOutputWithContext(ctx context.Context) GetUserFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetUserFilter) *GetUserFilter { + return &v + }).(GetUserFilterPtrOutput) +} + +func (o GetUserFilterOutput) ToOutput(ctx context.Context) pulumix.Output[GetUserFilter] { + return pulumix.Output[GetUserFilter]{ + OutputState: o.OutputState, + } +} + +// Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. +func (o GetUserFilterOutput) AttributePath() pulumi.StringOutput { + return o.ApplyT(func(v GetUserFilter) string { return v.AttributePath }).(pulumi.StringOutput) +} + +// Value for an attribute. +func (o GetUserFilterOutput) AttributeValue() pulumi.StringOutput { + return o.ApplyT(func(v GetUserFilter) string { return v.AttributeValue }).(pulumi.StringOutput) +} + +type GetUserFilterPtrOutput struct{ *pulumi.OutputState } + +func (GetUserFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetUserFilter)(nil)).Elem() +} + +func (o GetUserFilterPtrOutput) ToGetUserFilterPtrOutput() GetUserFilterPtrOutput { + return o +} + +func (o GetUserFilterPtrOutput) ToGetUserFilterPtrOutputWithContext(ctx context.Context) GetUserFilterPtrOutput { + return o +} + +func (o GetUserFilterPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*GetUserFilter] { + return pulumix.Output[*GetUserFilter]{ + OutputState: o.OutputState, + } +} + +func (o GetUserFilterPtrOutput) Elem() GetUserFilterOutput { + return o.ApplyT(func(v *GetUserFilter) GetUserFilter { + if v != nil { + return *v + } + var ret GetUserFilter + return ret + }).(GetUserFilterOutput) +} + +// Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. +func (o GetUserFilterPtrOutput) AttributePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetUserFilter) *string { + if v == nil { + return nil + } + return &v.AttributePath + }).(pulumi.StringPtrOutput) +} + +// Value for an attribute. +func (o GetUserFilterPtrOutput) AttributeValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetUserFilter) *string { + if v == nil { + return nil + } + return &v.AttributeValue + }).(pulumi.StringPtrOutput) +} + type GetUserName struct { // The family name of the user. FamilyName string `pulumi:"familyName"` @@ -3239,6 +3599,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetGroupAlternateIdentifierUniqueAttributePtrInput)(nil)).Elem(), GetGroupAlternateIdentifierUniqueAttributeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupExternalIdInput)(nil)).Elem(), GetGroupExternalIdArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupExternalIdArrayInput)(nil)).Elem(), GetGroupExternalIdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupFilterInput)(nil)).Elem(), GetGroupFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupFilterPtrInput)(nil)).Elem(), GetGroupFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserAddressInput)(nil)).Elem(), GetUserAddressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserAddressArrayInput)(nil)).Elem(), GetUserAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserAlternateIdentifierInput)(nil)).Elem(), GetUserAlternateIdentifierArgs{}) @@ -3251,6 +3613,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetUserEmailArrayInput)(nil)).Elem(), GetUserEmailArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserExternalIdInput)(nil)).Elem(), GetUserExternalIdArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserExternalIdArrayInput)(nil)).Elem(), GetUserExternalIdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetUserFilterInput)(nil)).Elem(), GetUserFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetUserFilterPtrInput)(nil)).Elem(), GetUserFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserNameInput)(nil)).Elem(), GetUserNameArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserNameArrayInput)(nil)).Elem(), GetUserNameArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserPhoneNumberInput)(nil)).Elem(), GetUserPhoneNumberArgs{}) @@ -3275,6 +3639,8 @@ func init() { pulumi.RegisterOutputType(GetGroupAlternateIdentifierUniqueAttributePtrOutput{}) pulumi.RegisterOutputType(GetGroupExternalIdOutput{}) pulumi.RegisterOutputType(GetGroupExternalIdArrayOutput{}) + pulumi.RegisterOutputType(GetGroupFilterOutput{}) + pulumi.RegisterOutputType(GetGroupFilterPtrOutput{}) pulumi.RegisterOutputType(GetUserAddressOutput{}) pulumi.RegisterOutputType(GetUserAddressArrayOutput{}) pulumi.RegisterOutputType(GetUserAlternateIdentifierOutput{}) @@ -3287,6 +3653,8 @@ func init() { pulumi.RegisterOutputType(GetUserEmailArrayOutput{}) pulumi.RegisterOutputType(GetUserExternalIdOutput{}) pulumi.RegisterOutputType(GetUserExternalIdArrayOutput{}) + pulumi.RegisterOutputType(GetUserFilterOutput{}) + pulumi.RegisterOutputType(GetUserFilterPtrOutput{}) pulumi.RegisterOutputType(GetUserNameOutput{}) pulumi.RegisterOutputType(GetUserNameArrayOutput{}) pulumi.RegisterOutputType(GetUserPhoneNumberOutput{}) diff --git a/sdk/go/aws/iot/provisioningTemplate.go b/sdk/go/aws/iot/provisioningTemplate.go index 3d8ed53242c..569c53e453d 100644 --- a/sdk/go/aws/iot/provisioningTemplate.go +++ b/sdk/go/aws/iot/provisioningTemplate.go @@ -90,6 +90,7 @@ import ( // _, err = iot.NewProvisioningTemplate(ctx, "fleet", &iot.ProvisioningTemplateArgs{ // Description: pulumi.String("My provisioning template"), // ProvisioningRoleArn: iotFleetProvisioning.Arn, +// Enabled: pulumi.Bool(true), // TemplateBody: devicePolicyPolicy.Name.ApplyT(func(name string) (pulumi.String, error) { // var _zero pulumi.String // tmpJSON0, err := json.Marshal(map[string]interface{}{ diff --git a/sdk/go/aws/lambda/getFunctionUrl.go b/sdk/go/aws/lambda/getFunctionUrl.go index e421ab12a62..1a503c296a5 100644 --- a/sdk/go/aws/lambda/getFunctionUrl.go +++ b/sdk/go/aws/lambda/getFunctionUrl.go @@ -54,7 +54,7 @@ func LookupFunctionUrl(ctx *pulumi.Context, args *LookupFunctionUrlArgs, opts .. // A collection of arguments for invoking getFunctionUrl. type LookupFunctionUrlArgs struct { - // he name (or ARN) of the Lambda function. + // The name (or ARN) of the Lambda function. FunctionName string `pulumi:"functionName"` // Alias name or `"$LATEST"`. Qualifier *string `pulumi:"qualifier"` @@ -99,7 +99,7 @@ func LookupFunctionUrlOutput(ctx *pulumi.Context, args LookupFunctionUrlOutputAr // A collection of arguments for invoking getFunctionUrl. type LookupFunctionUrlOutputArgs struct { - // he name (or ARN) of the Lambda function. + // The name (or ARN) of the Lambda function. FunctionName pulumi.StringInput `pulumi:"functionName"` // Alias name or `"$LATEST"`. Qualifier pulumi.StringPtrInput `pulumi:"qualifier"` diff --git a/sdk/go/aws/licensemanager/association.go b/sdk/go/aws/licensemanager/association.go index 998f762eb16..6e3aef13294 100644 --- a/sdk/go/aws/licensemanager/association.go +++ b/sdk/go/aws/licensemanager/association.go @@ -77,13 +77,11 @@ import ( // // ## Import // -// Using `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example: +// In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import { // -// ```sh +// to = aws_licensemanager_association.example // -// $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef -// -// ``` +// id = "arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef type Association struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/licensemanager/licenseConfiguration.go b/sdk/go/aws/licensemanager/licenseConfiguration.go index e9876832821..5f293d77bea 100644 --- a/sdk/go/aws/licensemanager/licenseConfiguration.go +++ b/sdk/go/aws/licensemanager/licenseConfiguration.go @@ -15,7 +15,7 @@ import ( // Provides a License Manager license configuration resource. // -// > **Note:** Removing the `licenseCount` attribute is not supported by the License Manager API - recreate the resource instead. +// > **Note:** Removing the `licenseCount` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.` to recreate the resource instead. // // ## Example Usage // @@ -65,13 +65,11 @@ import ( // // ## Import // -// Using `pulumi import`, import license configurations using the `id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import { // -// ```sh +// to = aws_licensemanager_license_configuration.example // -// $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef -// -// ``` +// id = "arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef type LicenseConfiguration struct { pulumi.CustomResourceState @@ -91,7 +89,7 @@ type LicenseConfiguration struct { Name pulumi.StringOutput `pulumi:"name"` // Account ID of the owner of the license configuration. OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -146,7 +144,7 @@ type licenseConfigurationState struct { Name *string `pulumi:"name"` // Account ID of the owner of the license configuration. OwnerAccountId *string `pulumi:"ownerAccountId"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -169,7 +167,7 @@ type LicenseConfigurationState struct { Name pulumi.StringPtrInput // Account ID of the owner of the license configuration. OwnerAccountId 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -192,7 +190,7 @@ type licenseConfigurationArgs struct { LicenseRules []string `pulumi:"licenseRules"` // Name of the license configuration. Name *string `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -210,7 +208,7 @@ type LicenseConfigurationArgs struct { LicenseRules pulumi.StringArrayInput // Name of the license configuration. Name 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -365,7 +363,7 @@ func (o LicenseConfigurationOutput) OwnerAccountId() pulumi.StringOutput { return o.ApplyT(func(v *LicenseConfiguration) pulumi.StringOutput { return v.OwnerAccountId }).(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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o LicenseConfigurationOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *LicenseConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/medialive/pulumiTypes.go b/sdk/go/aws/medialive/pulumiTypes.go index 213f40e0648..ef6f3535d60 100644 --- a/sdk/go/aws/medialive/pulumiTypes.go +++ b/sdk/go/aws/medialive/pulumiTypes.go @@ -16456,7 +16456,7 @@ type ChannelEncoderSettingsOutputGroupOutputOutputSettings struct { MultiplexOutputSettings *ChannelEncoderSettingsOutputGroupOutputOutputSettingsMultiplexOutputSettings `pulumi:"multiplexOutputSettings"` // RTMP output settings. See RTMP Output Settings for more details. RtmpOutputSettings *ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettings `pulumi:"rtmpOutputSettings"` - // UDP output settings. See UDP Output Settings for more details + // UDP output settings. See UDP Output Settings for more details. UdpOutputSettings *ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings `pulumi:"udpOutputSettings"` } @@ -16483,7 +16483,7 @@ type ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs struct { MultiplexOutputSettings ChannelEncoderSettingsOutputGroupOutputOutputSettingsMultiplexOutputSettingsPtrInput `pulumi:"multiplexOutputSettings"` // RTMP output settings. See RTMP Output Settings for more details. RtmpOutputSettings ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettingsPtrInput `pulumi:"rtmpOutputSettings"` - // UDP output settings. See UDP Output Settings for more details + // UDP output settings. See UDP Output Settings for more details. UdpOutputSettings ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsPtrInput `pulumi:"udpOutputSettings"` } @@ -16571,7 +16571,7 @@ func (o ChannelEncoderSettingsOutputGroupOutputOutputSettingsOutput) RtmpOutputS }).(ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettingsPtrOutput) } -// UDP output settings. See UDP Output Settings for more details +// UDP output settings. See UDP Output Settings for more details. func (o ChannelEncoderSettingsOutputGroupOutputOutputSettingsOutput) UdpOutputSettings() ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsPtrOutput { return o.ApplyT(func(v ChannelEncoderSettingsOutputGroupOutputOutputSettings) *ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings { return v.UdpOutputSettings @@ -28162,12 +28162,13 @@ func (o ChannelEncoderSettingsVideoDescriptionCodecSettingsH265SettingsTimecodeB } type ChannelInputAttachment struct { + // User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. AutomaticInputFailoverSettings *ChannelInputAttachmentAutomaticInputFailoverSettings `pulumi:"automaticInputFailoverSettings"` // User-specified name for the attachment. InputAttachmentName string `pulumi:"inputAttachmentName"` // The ID of the input. InputId string `pulumi:"inputId"` - // Settings of an input. See Input Settings for more details + // Settings of an input. See Input Settings for more details. InputSettings *ChannelInputAttachmentInputSettings `pulumi:"inputSettings"` } @@ -28183,12 +28184,13 @@ type ChannelInputAttachmentInput interface { } type ChannelInputAttachmentArgs struct { + // User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. AutomaticInputFailoverSettings ChannelInputAttachmentAutomaticInputFailoverSettingsPtrInput `pulumi:"automaticInputFailoverSettings"` // User-specified name for the attachment. InputAttachmentName pulumi.StringInput `pulumi:"inputAttachmentName"` // The ID of the input. InputId pulumi.StringInput `pulumi:"inputId"` - // Settings of an input. See Input Settings for more details + // Settings of an input. See Input Settings for more details. InputSettings ChannelInputAttachmentInputSettingsPtrInput `pulumi:"inputSettings"` } @@ -28261,6 +28263,7 @@ func (o ChannelInputAttachmentOutput) ToOutput(ctx context.Context) pulumix.Outp } } +// User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. func (o ChannelInputAttachmentOutput) AutomaticInputFailoverSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput { return o.ApplyT(func(v ChannelInputAttachment) *ChannelInputAttachmentAutomaticInputFailoverSettings { return v.AutomaticInputFailoverSettings @@ -28277,7 +28280,7 @@ func (o ChannelInputAttachmentOutput) InputId() pulumi.StringOutput { return o.ApplyT(func(v ChannelInputAttachment) string { return v.InputId }).(pulumi.StringOutput) } -// Settings of an input. See Input Settings for more details +// Settings of an input. See Input Settings for more details. func (o ChannelInputAttachmentOutput) InputSettings() ChannelInputAttachmentInputSettingsPtrOutput { return o.ApplyT(func(v ChannelInputAttachment) *ChannelInputAttachmentInputSettings { return v.InputSettings }).(ChannelInputAttachmentInputSettingsPtrOutput) } @@ -28309,10 +28312,13 @@ func (o ChannelInputAttachmentArrayOutput) Index(i pulumi.IntInput) ChannelInput } type ChannelInputAttachmentAutomaticInputFailoverSettings struct { + // This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. ErrorClearTimeMsec *int `pulumi:"errorClearTimeMsec"` FailoverConditions []ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition `pulumi:"failoverConditions"` - InputPreference *string `pulumi:"inputPreference"` - SecondaryInputId string `pulumi:"secondaryInputId"` + // Input preference when deciding which input to make active when a previously failed input has recovered. + InputPreference *string `pulumi:"inputPreference"` + // The input ID of the secondary input in the automatic input failover pair. + SecondaryInputId string `pulumi:"secondaryInputId"` } // ChannelInputAttachmentAutomaticInputFailoverSettingsInput is an input type that accepts ChannelInputAttachmentAutomaticInputFailoverSettingsArgs and ChannelInputAttachmentAutomaticInputFailoverSettingsOutput values. @@ -28327,10 +28333,13 @@ type ChannelInputAttachmentAutomaticInputFailoverSettingsInput interface { } type ChannelInputAttachmentAutomaticInputFailoverSettingsArgs struct { + // This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. ErrorClearTimeMsec pulumi.IntPtrInput `pulumi:"errorClearTimeMsec"` FailoverConditions ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArrayInput `pulumi:"failoverConditions"` - InputPreference pulumi.StringPtrInput `pulumi:"inputPreference"` - SecondaryInputId pulumi.StringInput `pulumi:"secondaryInputId"` + // Input preference when deciding which input to make active when a previously failed input has recovered. + InputPreference pulumi.StringPtrInput `pulumi:"inputPreference"` + // The input ID of the secondary input in the automatic input failover pair. + SecondaryInputId pulumi.StringInput `pulumi:"secondaryInputId"` } func (ChannelInputAttachmentAutomaticInputFailoverSettingsArgs) ElementType() reflect.Type { @@ -28428,6 +28437,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsOutput) ToOutput(ctx } } +// This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsOutput) ErrorClearTimeMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettings) *int { return v.ErrorClearTimeMsec }).(pulumi.IntPtrOutput) } @@ -28438,10 +28448,12 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsOutput) FailoverCond }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArrayOutput) } +// Input preference when deciding which input to make active when a previously failed input has recovered. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsOutput) InputPreference() pulumi.StringPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettings) *string { return v.InputPreference }).(pulumi.StringPtrOutput) } +// The input ID of the secondary input in the automatic input failover pair. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsOutput) SecondaryInputId() pulumi.StringOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettings) string { return v.SecondaryInputId }).(pulumi.StringOutput) } @@ -28476,6 +28488,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) Elem() Ch }).(ChannelInputAttachmentAutomaticInputFailoverSettingsOutput) } +// This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) ErrorClearTimeMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettings) *int { if v == nil { @@ -28494,6 +28507,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) FailoverC }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArrayOutput) } +// Input preference when deciding which input to make active when a previously failed input has recovered. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) InputPreference() pulumi.StringPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettings) *string { if v == nil { @@ -28503,6 +28517,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) InputPref }).(pulumi.StringPtrOutput) } +// The input ID of the secondary input in the automatic input failover pair. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) SecondaryInputId() pulumi.StringPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettings) *string { if v == nil { @@ -28513,6 +28528,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsPtrOutput) Secondary } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition struct { + // Failover condition type-specific settings. See Failover Condition Settings for more details. FailoverConditionSettings *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings `pulumi:"failoverConditionSettings"` } @@ -28528,6 +28544,7 @@ type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionInput } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs struct { + // Failover condition type-specific settings. See Failover Condition Settings for more details. FailoverConditionSettings ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsPtrInput `pulumi:"failoverConditionSettings"` } @@ -28600,6 +28617,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionOut } } +// Failover condition type-specific settings. See Failover Condition Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionOutput) FailoverConditionSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings { return v.FailoverConditionSettings @@ -28633,9 +28651,12 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArr } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings struct { + // MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. AudioSilenceSettings *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings `pulumi:"audioSilenceSettings"` - InputLossSettings *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings `pulumi:"inputLossSettings"` - VideoBlackSettings *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings `pulumi:"videoBlackSettings"` + // MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + InputLossSettings *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings `pulumi:"inputLossSettings"` + // MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + VideoBlackSettings *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings `pulumi:"videoBlackSettings"` } // ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInput is an input type that accepts ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs and ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsOutput values. @@ -28650,9 +28671,12 @@ type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailov } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs struct { + // MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. AudioSilenceSettings ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrInput `pulumi:"audioSilenceSettings"` - InputLossSettings ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrInput `pulumi:"inputLossSettings"` - VideoBlackSettings ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsPtrInput `pulumi:"videoBlackSettings"` + // MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + InputLossSettings ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrInput `pulumi:"inputLossSettings"` + // MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + VideoBlackSettings ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsPtrInput `pulumi:"videoBlackSettings"` } func (ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs) ElementType() reflect.Type { @@ -28750,18 +28774,21 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } } +// MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsOutput) AudioSilenceSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings { return v.AudioSilenceSettings }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrOutput) } +// MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsOutput) InputLossSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings { return v.InputLossSettings }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrOutput) } +// MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsOutput) VideoBlackSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings { return v.VideoBlackSettings @@ -28798,6 +28825,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsOutput) } +// MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsPtrOutput) AudioSilenceSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings { if v == nil { @@ -28807,6 +28835,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrOutput) } +// MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsPtrOutput) InputLossSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings { if v == nil { @@ -28816,6 +28845,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrOutput) } +// MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsPtrOutput) VideoBlackSettings() ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings) *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings { if v == nil { @@ -28826,9 +28856,10 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings struct { - // The name of the audio selector used as the source for this AudioDescription. - AudioSelectorName string `pulumi:"audioSelectorName"` - AudioSilenceThresholdMsec *int `pulumi:"audioSilenceThresholdMsec"` + // The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. + AudioSelectorName string `pulumi:"audioSelectorName"` + // The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + AudioSilenceThresholdMsec *int `pulumi:"audioSilenceThresholdMsec"` } // ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsInput is an input type that accepts ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs and ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsOutput values. @@ -28843,8 +28874,9 @@ type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailov } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs struct { - // The name of the audio selector used as the source for this AudioDescription. - AudioSelectorName pulumi.StringInput `pulumi:"audioSelectorName"` + // The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. + AudioSelectorName pulumi.StringInput `pulumi:"audioSelectorName"` + // The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. AudioSilenceThresholdMsec pulumi.IntPtrInput `pulumi:"audioSilenceThresholdMsec"` } @@ -28943,13 +28975,14 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } } -// The name of the audio selector used as the source for this AudioDescription. +// The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsOutput) AudioSelectorName() pulumi.StringOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings) string { return v.AudioSelectorName }).(pulumi.StringOutput) } +// The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsOutput) AudioSilenceThresholdMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings) *int { return v.AudioSilenceThresholdMsec @@ -28986,7 +29019,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsOutput) } -// The name of the audio selector used as the source for this AudioDescription. +// The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrOutput) AudioSelectorName() pulumi.StringPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings) *string { if v == nil { @@ -28996,6 +29029,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(pulumi.StringPtrOutput) } +// The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsPtrOutput) AudioSilenceThresholdMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings) *int { if v == nil { @@ -29006,6 +29040,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings struct { + // The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. InputLossThresholdMsec *int `pulumi:"inputLossThresholdMsec"` } @@ -29021,6 +29056,7 @@ type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailov } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs struct { + // The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. InputLossThresholdMsec pulumi.IntPtrInput `pulumi:"inputLossThresholdMsec"` } @@ -29119,6 +29155,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } } +// The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsOutput) InputLossThresholdMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings) *int { return v.InputLossThresholdMsec @@ -29155,6 +29192,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsOutput) } +// The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsPtrOutput) InputLossThresholdMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings) *int { if v == nil { @@ -29165,8 +29203,10 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings struct { - BlackDetectThreshold *float64 `pulumi:"blackDetectThreshold"` - VideoBlackThresholdMsec *int `pulumi:"videoBlackThresholdMsec"` + // A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + BlackDetectThreshold *float64 `pulumi:"blackDetectThreshold"` + // The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + VideoBlackThresholdMsec *int `pulumi:"videoBlackThresholdMsec"` } // ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsInput is an input type that accepts ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs and ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsOutput values. @@ -29181,8 +29221,10 @@ type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailov } type ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs struct { - BlackDetectThreshold pulumi.Float64PtrInput `pulumi:"blackDetectThreshold"` - VideoBlackThresholdMsec pulumi.IntPtrInput `pulumi:"videoBlackThresholdMsec"` + // A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + BlackDetectThreshold pulumi.Float64PtrInput `pulumi:"blackDetectThreshold"` + // The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + VideoBlackThresholdMsec pulumi.IntPtrInput `pulumi:"videoBlackThresholdMsec"` } func (ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs) ElementType() reflect.Type { @@ -29280,12 +29322,14 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai } } +// A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsOutput) BlackDetectThreshold() pulumi.Float64PtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings) *float64 { return v.BlackDetectThreshold }).(pulumi.Float64PtrOutput) } +// The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsOutput) VideoBlackThresholdMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings) *int { return v.VideoBlackThresholdMsec @@ -29322,6 +29366,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsOutput) } +// A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsPtrOutput) BlackDetectThreshold() pulumi.Float64PtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings) *float64 { if v == nil { @@ -29331,6 +29376,7 @@ func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFai }).(pulumi.Float64PtrOutput) } +// The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. func (o ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsPtrOutput) VideoBlackThresholdMsec() pulumi.IntPtrOutput { return o.ApplyT(func(v *ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings) *int { if v == nil { diff --git a/sdk/go/aws/opensearch/domain.go b/sdk/go/aws/opensearch/domain.go index 5b3ce69bc5b..e2ab030f480 100644 --- a/sdk/go/aws/opensearch/domain.go +++ b/sdk/go/aws/opensearch/domain.go @@ -512,6 +512,8 @@ type Domain struct { OffPeakWindowOptions DomainOffPeakWindowOptionsOutput `pulumi:"offPeakWindowOptions"` // Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. SnapshotOptions DomainSnapshotOptionsPtrOutput `pulumi:"snapshotOptions"` + // Software update options for the domain. Detailed below. + SoftwareUpdateOptions DomainSoftwareUpdateOptionsOutput `pulumi:"softwareUpdateOptions"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -598,6 +600,8 @@ type domainState struct { OffPeakWindowOptions *DomainOffPeakWindowOptions `pulumi:"offPeakWindowOptions"` // Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. SnapshotOptions *DomainSnapshotOptions `pulumi:"snapshotOptions"` + // Software update options for the domain. Detailed below. + SoftwareUpdateOptions *DomainSoftwareUpdateOptions `pulumi:"softwareUpdateOptions"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -655,6 +659,8 @@ type DomainState struct { OffPeakWindowOptions DomainOffPeakWindowOptionsPtrInput // Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. SnapshotOptions DomainSnapshotOptionsPtrInput + // Software update options for the domain. Detailed below. + SoftwareUpdateOptions DomainSoftwareUpdateOptionsPtrInput // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -704,6 +710,8 @@ type domainArgs struct { OffPeakWindowOptions *DomainOffPeakWindowOptions `pulumi:"offPeakWindowOptions"` // Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. SnapshotOptions *DomainSnapshotOptions `pulumi:"snapshotOptions"` + // Software update options for the domain. Detailed below. + SoftwareUpdateOptions *DomainSoftwareUpdateOptions `pulumi:"softwareUpdateOptions"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below. @@ -746,6 +754,8 @@ type DomainArgs struct { OffPeakWindowOptions DomainOffPeakWindowOptionsPtrInput // Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. SnapshotOptions DomainSnapshotOptionsPtrInput + // Software update options for the domain. Detailed below. + SoftwareUpdateOptions DomainSoftwareUpdateOptionsPtrInput // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below. @@ -969,6 +979,11 @@ func (o DomainOutput) SnapshotOptions() DomainSnapshotOptionsPtrOutput { return o.ApplyT(func(v *Domain) DomainSnapshotOptionsPtrOutput { return v.SnapshotOptions }).(DomainSnapshotOptionsPtrOutput) } +// Software update options for the domain. Detailed below. +func (o DomainOutput) SoftwareUpdateOptions() DomainSoftwareUpdateOptionsOutput { + return o.ApplyT(func(v *Domain) DomainSoftwareUpdateOptionsOutput { return v.SoftwareUpdateOptions }).(DomainSoftwareUpdateOptionsOutput) +} + // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o DomainOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Domain) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) diff --git a/sdk/go/aws/opensearch/getDomain.go b/sdk/go/aws/opensearch/getDomain.go index 8dbd772a07e..70d39d37a00 100644 --- a/sdk/go/aws/opensearch/getDomain.go +++ b/sdk/go/aws/opensearch/getDomain.go @@ -108,6 +108,8 @@ type LookupDomainResult struct { Processing bool `pulumi:"processing"` // Domain snapshot related options. SnapshotOptions []GetDomainSnapshotOption `pulumi:"snapshotOptions"` + // Software update options for the domain + SoftwareUpdateOptions []GetDomainSoftwareUpdateOption `pulumi:"softwareUpdateOptions"` // Tags assigned to the domain. Tags map[string]string `pulumi:"tags"` // VPC Options for private OpenSearch domains. @@ -278,6 +280,11 @@ func (o LookupDomainResultOutput) SnapshotOptions() GetDomainSnapshotOptionArray return o.ApplyT(func(v LookupDomainResult) []GetDomainSnapshotOption { return v.SnapshotOptions }).(GetDomainSnapshotOptionArrayOutput) } +// Software update options for the domain +func (o LookupDomainResultOutput) SoftwareUpdateOptions() GetDomainSoftwareUpdateOptionArrayOutput { + return o.ApplyT(func(v LookupDomainResult) []GetDomainSoftwareUpdateOption { return v.SoftwareUpdateOptions }).(GetDomainSoftwareUpdateOptionArrayOutput) +} + // Tags assigned to the domain. func (o LookupDomainResultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v LookupDomainResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) diff --git a/sdk/go/aws/opensearch/pulumiTypes.go b/sdk/go/aws/opensearch/pulumiTypes.go index 1a46745c3ec..334736e6c62 100644 --- a/sdk/go/aws/opensearch/pulumiTypes.go +++ b/sdk/go/aws/opensearch/pulumiTypes.go @@ -3843,6 +3843,167 @@ func (o DomainSnapshotOptionsPtrOutput) AutomatedSnapshotStartHour() pulumi.IntP }).(pulumi.IntPtrOutput) } +type DomainSoftwareUpdateOptions struct { + // Whether automatic service software updates are enabled for the domain. Defaults to `false`. + AutoSoftwareUpdateEnabled *bool `pulumi:"autoSoftwareUpdateEnabled"` +} + +// DomainSoftwareUpdateOptionsInput is an input type that accepts DomainSoftwareUpdateOptionsArgs and DomainSoftwareUpdateOptionsOutput values. +// You can construct a concrete instance of `DomainSoftwareUpdateOptionsInput` via: +// +// DomainSoftwareUpdateOptionsArgs{...} +type DomainSoftwareUpdateOptionsInput interface { + pulumi.Input + + ToDomainSoftwareUpdateOptionsOutput() DomainSoftwareUpdateOptionsOutput + ToDomainSoftwareUpdateOptionsOutputWithContext(context.Context) DomainSoftwareUpdateOptionsOutput +} + +type DomainSoftwareUpdateOptionsArgs struct { + // Whether automatic service software updates are enabled for the domain. Defaults to `false`. + AutoSoftwareUpdateEnabled pulumi.BoolPtrInput `pulumi:"autoSoftwareUpdateEnabled"` +} + +func (DomainSoftwareUpdateOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainSoftwareUpdateOptions)(nil)).Elem() +} + +func (i DomainSoftwareUpdateOptionsArgs) ToDomainSoftwareUpdateOptionsOutput() DomainSoftwareUpdateOptionsOutput { + return i.ToDomainSoftwareUpdateOptionsOutputWithContext(context.Background()) +} + +func (i DomainSoftwareUpdateOptionsArgs) ToDomainSoftwareUpdateOptionsOutputWithContext(ctx context.Context) DomainSoftwareUpdateOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainSoftwareUpdateOptionsOutput) +} + +func (i DomainSoftwareUpdateOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainSoftwareUpdateOptions] { + return pulumix.Output[DomainSoftwareUpdateOptions]{ + OutputState: i.ToDomainSoftwareUpdateOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i DomainSoftwareUpdateOptionsArgs) ToDomainSoftwareUpdateOptionsPtrOutput() DomainSoftwareUpdateOptionsPtrOutput { + return i.ToDomainSoftwareUpdateOptionsPtrOutputWithContext(context.Background()) +} + +func (i DomainSoftwareUpdateOptionsArgs) ToDomainSoftwareUpdateOptionsPtrOutputWithContext(ctx context.Context) DomainSoftwareUpdateOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainSoftwareUpdateOptionsOutput).ToDomainSoftwareUpdateOptionsPtrOutputWithContext(ctx) +} + +// DomainSoftwareUpdateOptionsPtrInput is an input type that accepts DomainSoftwareUpdateOptionsArgs, DomainSoftwareUpdateOptionsPtr and DomainSoftwareUpdateOptionsPtrOutput values. +// You can construct a concrete instance of `DomainSoftwareUpdateOptionsPtrInput` via: +// +// DomainSoftwareUpdateOptionsArgs{...} +// +// or: +// +// nil +type DomainSoftwareUpdateOptionsPtrInput interface { + pulumi.Input + + ToDomainSoftwareUpdateOptionsPtrOutput() DomainSoftwareUpdateOptionsPtrOutput + ToDomainSoftwareUpdateOptionsPtrOutputWithContext(context.Context) DomainSoftwareUpdateOptionsPtrOutput +} + +type domainSoftwareUpdateOptionsPtrType DomainSoftwareUpdateOptionsArgs + +func DomainSoftwareUpdateOptionsPtr(v *DomainSoftwareUpdateOptionsArgs) DomainSoftwareUpdateOptionsPtrInput { + return (*domainSoftwareUpdateOptionsPtrType)(v) +} + +func (*domainSoftwareUpdateOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainSoftwareUpdateOptions)(nil)).Elem() +} + +func (i *domainSoftwareUpdateOptionsPtrType) ToDomainSoftwareUpdateOptionsPtrOutput() DomainSoftwareUpdateOptionsPtrOutput { + return i.ToDomainSoftwareUpdateOptionsPtrOutputWithContext(context.Background()) +} + +func (i *domainSoftwareUpdateOptionsPtrType) ToDomainSoftwareUpdateOptionsPtrOutputWithContext(ctx context.Context) DomainSoftwareUpdateOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainSoftwareUpdateOptionsPtrOutput) +} + +func (i *domainSoftwareUpdateOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainSoftwareUpdateOptions] { + return pulumix.Output[*DomainSoftwareUpdateOptions]{ + OutputState: i.ToDomainSoftwareUpdateOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +type DomainSoftwareUpdateOptionsOutput struct{ *pulumi.OutputState } + +func (DomainSoftwareUpdateOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainSoftwareUpdateOptions)(nil)).Elem() +} + +func (o DomainSoftwareUpdateOptionsOutput) ToDomainSoftwareUpdateOptionsOutput() DomainSoftwareUpdateOptionsOutput { + return o +} + +func (o DomainSoftwareUpdateOptionsOutput) ToDomainSoftwareUpdateOptionsOutputWithContext(ctx context.Context) DomainSoftwareUpdateOptionsOutput { + return o +} + +func (o DomainSoftwareUpdateOptionsOutput) ToDomainSoftwareUpdateOptionsPtrOutput() DomainSoftwareUpdateOptionsPtrOutput { + return o.ToDomainSoftwareUpdateOptionsPtrOutputWithContext(context.Background()) +} + +func (o DomainSoftwareUpdateOptionsOutput) ToDomainSoftwareUpdateOptionsPtrOutputWithContext(ctx context.Context) DomainSoftwareUpdateOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainSoftwareUpdateOptions) *DomainSoftwareUpdateOptions { + return &v + }).(DomainSoftwareUpdateOptionsPtrOutput) +} + +func (o DomainSoftwareUpdateOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainSoftwareUpdateOptions] { + return pulumix.Output[DomainSoftwareUpdateOptions]{ + OutputState: o.OutputState, + } +} + +// Whether automatic service software updates are enabled for the domain. Defaults to `false`. +func (o DomainSoftwareUpdateOptionsOutput) AutoSoftwareUpdateEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v DomainSoftwareUpdateOptions) *bool { return v.AutoSoftwareUpdateEnabled }).(pulumi.BoolPtrOutput) +} + +type DomainSoftwareUpdateOptionsPtrOutput struct{ *pulumi.OutputState } + +func (DomainSoftwareUpdateOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainSoftwareUpdateOptions)(nil)).Elem() +} + +func (o DomainSoftwareUpdateOptionsPtrOutput) ToDomainSoftwareUpdateOptionsPtrOutput() DomainSoftwareUpdateOptionsPtrOutput { + return o +} + +func (o DomainSoftwareUpdateOptionsPtrOutput) ToDomainSoftwareUpdateOptionsPtrOutputWithContext(ctx context.Context) DomainSoftwareUpdateOptionsPtrOutput { + return o +} + +func (o DomainSoftwareUpdateOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainSoftwareUpdateOptions] { + return pulumix.Output[*DomainSoftwareUpdateOptions]{ + OutputState: o.OutputState, + } +} + +func (o DomainSoftwareUpdateOptionsPtrOutput) Elem() DomainSoftwareUpdateOptionsOutput { + return o.ApplyT(func(v *DomainSoftwareUpdateOptions) DomainSoftwareUpdateOptions { + if v != nil { + return *v + } + var ret DomainSoftwareUpdateOptions + return ret + }).(DomainSoftwareUpdateOptionsOutput) +} + +// Whether automatic service software updates are enabled for the domain. Defaults to `false`. +func (o DomainSoftwareUpdateOptionsPtrOutput) AutoSoftwareUpdateEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DomainSoftwareUpdateOptions) *bool { + if v == nil { + return nil + } + return v.AutoSoftwareUpdateEnabled + }).(pulumi.BoolPtrOutput) +} + type DomainVpcOptions struct { AvailabilityZones []string `pulumi:"availabilityZones"` // List of VPC Security Group IDs to be applied to the OpenSearch domain endpoints. If omitted, the default Security Group for the VPC will be used. @@ -7494,6 +7655,127 @@ func (o GetDomainSnapshotOptionArrayOutput) Index(i pulumi.IntInput) GetDomainSn }).(GetDomainSnapshotOptionOutput) } +type GetDomainSoftwareUpdateOption struct { + // Enabled or disabled. + AutoSoftwareUpdateEnabled bool `pulumi:"autoSoftwareUpdateEnabled"` +} + +// GetDomainSoftwareUpdateOptionInput is an input type that accepts GetDomainSoftwareUpdateOptionArgs and GetDomainSoftwareUpdateOptionOutput values. +// You can construct a concrete instance of `GetDomainSoftwareUpdateOptionInput` via: +// +// GetDomainSoftwareUpdateOptionArgs{...} +type GetDomainSoftwareUpdateOptionInput interface { + pulumi.Input + + ToGetDomainSoftwareUpdateOptionOutput() GetDomainSoftwareUpdateOptionOutput + ToGetDomainSoftwareUpdateOptionOutputWithContext(context.Context) GetDomainSoftwareUpdateOptionOutput +} + +type GetDomainSoftwareUpdateOptionArgs struct { + // Enabled or disabled. + AutoSoftwareUpdateEnabled pulumi.BoolInput `pulumi:"autoSoftwareUpdateEnabled"` +} + +func (GetDomainSoftwareUpdateOptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDomainSoftwareUpdateOption)(nil)).Elem() +} + +func (i GetDomainSoftwareUpdateOptionArgs) ToGetDomainSoftwareUpdateOptionOutput() GetDomainSoftwareUpdateOptionOutput { + return i.ToGetDomainSoftwareUpdateOptionOutputWithContext(context.Background()) +} + +func (i GetDomainSoftwareUpdateOptionArgs) ToGetDomainSoftwareUpdateOptionOutputWithContext(ctx context.Context) GetDomainSoftwareUpdateOptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDomainSoftwareUpdateOptionOutput) +} + +func (i GetDomainSoftwareUpdateOptionArgs) ToOutput(ctx context.Context) pulumix.Output[GetDomainSoftwareUpdateOption] { + return pulumix.Output[GetDomainSoftwareUpdateOption]{ + OutputState: i.ToGetDomainSoftwareUpdateOptionOutputWithContext(ctx).OutputState, + } +} + +// GetDomainSoftwareUpdateOptionArrayInput is an input type that accepts GetDomainSoftwareUpdateOptionArray and GetDomainSoftwareUpdateOptionArrayOutput values. +// You can construct a concrete instance of `GetDomainSoftwareUpdateOptionArrayInput` via: +// +// GetDomainSoftwareUpdateOptionArray{ GetDomainSoftwareUpdateOptionArgs{...} } +type GetDomainSoftwareUpdateOptionArrayInput interface { + pulumi.Input + + ToGetDomainSoftwareUpdateOptionArrayOutput() GetDomainSoftwareUpdateOptionArrayOutput + ToGetDomainSoftwareUpdateOptionArrayOutputWithContext(context.Context) GetDomainSoftwareUpdateOptionArrayOutput +} + +type GetDomainSoftwareUpdateOptionArray []GetDomainSoftwareUpdateOptionInput + +func (GetDomainSoftwareUpdateOptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDomainSoftwareUpdateOption)(nil)).Elem() +} + +func (i GetDomainSoftwareUpdateOptionArray) ToGetDomainSoftwareUpdateOptionArrayOutput() GetDomainSoftwareUpdateOptionArrayOutput { + return i.ToGetDomainSoftwareUpdateOptionArrayOutputWithContext(context.Background()) +} + +func (i GetDomainSoftwareUpdateOptionArray) ToGetDomainSoftwareUpdateOptionArrayOutputWithContext(ctx context.Context) GetDomainSoftwareUpdateOptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDomainSoftwareUpdateOptionArrayOutput) +} + +func (i GetDomainSoftwareUpdateOptionArray) ToOutput(ctx context.Context) pulumix.Output[[]GetDomainSoftwareUpdateOption] { + return pulumix.Output[[]GetDomainSoftwareUpdateOption]{ + OutputState: i.ToGetDomainSoftwareUpdateOptionArrayOutputWithContext(ctx).OutputState, + } +} + +type GetDomainSoftwareUpdateOptionOutput struct{ *pulumi.OutputState } + +func (GetDomainSoftwareUpdateOptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDomainSoftwareUpdateOption)(nil)).Elem() +} + +func (o GetDomainSoftwareUpdateOptionOutput) ToGetDomainSoftwareUpdateOptionOutput() GetDomainSoftwareUpdateOptionOutput { + return o +} + +func (o GetDomainSoftwareUpdateOptionOutput) ToGetDomainSoftwareUpdateOptionOutputWithContext(ctx context.Context) GetDomainSoftwareUpdateOptionOutput { + return o +} + +func (o GetDomainSoftwareUpdateOptionOutput) ToOutput(ctx context.Context) pulumix.Output[GetDomainSoftwareUpdateOption] { + return pulumix.Output[GetDomainSoftwareUpdateOption]{ + OutputState: o.OutputState, + } +} + +// Enabled or disabled. +func (o GetDomainSoftwareUpdateOptionOutput) AutoSoftwareUpdateEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetDomainSoftwareUpdateOption) bool { return v.AutoSoftwareUpdateEnabled }).(pulumi.BoolOutput) +} + +type GetDomainSoftwareUpdateOptionArrayOutput struct{ *pulumi.OutputState } + +func (GetDomainSoftwareUpdateOptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDomainSoftwareUpdateOption)(nil)).Elem() +} + +func (o GetDomainSoftwareUpdateOptionArrayOutput) ToGetDomainSoftwareUpdateOptionArrayOutput() GetDomainSoftwareUpdateOptionArrayOutput { + return o +} + +func (o GetDomainSoftwareUpdateOptionArrayOutput) ToGetDomainSoftwareUpdateOptionArrayOutputWithContext(ctx context.Context) GetDomainSoftwareUpdateOptionArrayOutput { + return o +} + +func (o GetDomainSoftwareUpdateOptionArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetDomainSoftwareUpdateOption] { + return pulumix.Output[[]GetDomainSoftwareUpdateOption]{ + OutputState: o.OutputState, + } +} + +func (o GetDomainSoftwareUpdateOptionArrayOutput) Index(i pulumi.IntInput) GetDomainSoftwareUpdateOptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDomainSoftwareUpdateOption { + return vs[0].([]GetDomainSoftwareUpdateOption)[vs[1].(int)] + }).(GetDomainSoftwareUpdateOptionOutput) +} + type GetDomainVpcOption struct { // Availability zones used by the domain. AvailabilityZones []string `pulumi:"availabilityZones"` @@ -7900,6 +8182,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainSamlOptionsSamlOptionsIdpPtrInput)(nil)).Elem(), DomainSamlOptionsSamlOptionsIdpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainSnapshotOptionsInput)(nil)).Elem(), DomainSnapshotOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainSnapshotOptionsPtrInput)(nil)).Elem(), DomainSnapshotOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainSoftwareUpdateOptionsInput)(nil)).Elem(), DomainSoftwareUpdateOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainSoftwareUpdateOptionsPtrInput)(nil)).Elem(), DomainSoftwareUpdateOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainVpcOptionsInput)(nil)).Elem(), DomainVpcOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainVpcOptionsPtrInput)(nil)).Elem(), DomainVpcOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OutboundConnectionLocalDomainInfoInput)(nil)).Elem(), OutboundConnectionLocalDomainInfoArgs{}) @@ -7946,6 +8230,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetDomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArrayInput)(nil)).Elem(), GetDomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainSnapshotOptionInput)(nil)).Elem(), GetDomainSnapshotOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainSnapshotOptionArrayInput)(nil)).Elem(), GetDomainSnapshotOptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDomainSoftwareUpdateOptionInput)(nil)).Elem(), GetDomainSoftwareUpdateOptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDomainSoftwareUpdateOptionArrayInput)(nil)).Elem(), GetDomainSoftwareUpdateOptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainVpcOptionInput)(nil)).Elem(), GetDomainVpcOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainVpcOptionArrayInput)(nil)).Elem(), GetDomainVpcOptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetServerlessSecurityConfigSamlOptionsInput)(nil)).Elem(), GetServerlessSecurityConfigSamlOptionsArgs{}) @@ -7989,6 +8275,8 @@ func init() { pulumi.RegisterOutputType(DomainSamlOptionsSamlOptionsIdpPtrOutput{}) pulumi.RegisterOutputType(DomainSnapshotOptionsOutput{}) pulumi.RegisterOutputType(DomainSnapshotOptionsPtrOutput{}) + pulumi.RegisterOutputType(DomainSoftwareUpdateOptionsOutput{}) + pulumi.RegisterOutputType(DomainSoftwareUpdateOptionsPtrOutput{}) pulumi.RegisterOutputType(DomainVpcOptionsOutput{}) pulumi.RegisterOutputType(DomainVpcOptionsPtrOutput{}) pulumi.RegisterOutputType(OutboundConnectionLocalDomainInfoOutput{}) @@ -8035,6 +8323,8 @@ func init() { pulumi.RegisterOutputType(GetDomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeArrayOutput{}) pulumi.RegisterOutputType(GetDomainSnapshotOptionOutput{}) pulumi.RegisterOutputType(GetDomainSnapshotOptionArrayOutput{}) + pulumi.RegisterOutputType(GetDomainSoftwareUpdateOptionOutput{}) + pulumi.RegisterOutputType(GetDomainSoftwareUpdateOptionArrayOutput{}) pulumi.RegisterOutputType(GetDomainVpcOptionOutput{}) pulumi.RegisterOutputType(GetDomainVpcOptionArrayOutput{}) pulumi.RegisterOutputType(GetServerlessSecurityConfigSamlOptionsOutput{}) diff --git a/sdk/go/aws/pinpoint/admChannel.go b/sdk/go/aws/pinpoint/admChannel.go index e0c4ebeabe0..6beb85982df 100644 --- a/sdk/go/aws/pinpoint/admChannel.go +++ b/sdk/go/aws/pinpoint/admChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource. // +// > **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -50,13 +51,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_adm_channel.channel // -// $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id type AdmChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/apnsChannel.go b/sdk/go/aws/pinpoint/apnsChannel.go index a34ee82653e..eef64502830 100644 --- a/sdk/go/aws/pinpoint/apnsChannel.go +++ b/sdk/go/aws/pinpoint/apnsChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint APNs Channel resource. // +// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -59,13 +60,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_apns_channel.apns // -// $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id type ApnsChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/apnsSandboxChannel.go b/sdk/go/aws/pinpoint/apnsSandboxChannel.go index 49d30c08efe..e5360c37e30 100644 --- a/sdk/go/aws/pinpoint/apnsSandboxChannel.go +++ b/sdk/go/aws/pinpoint/apnsSandboxChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint APNs Sandbox Channel resource. // +// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -59,13 +60,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_apns_sandbox_channel.apns_sandbox // -// $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id type ApnsSandboxChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/apnsVoipChannel.go b/sdk/go/aws/pinpoint/apnsVoipChannel.go index 70e76e48fab..e389908d3d4 100644 --- a/sdk/go/aws/pinpoint/apnsVoipChannel.go +++ b/sdk/go/aws/pinpoint/apnsVoipChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint APNs VoIP Channel resource. // +// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -59,13 +60,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_apns_voip_channel.apns_voip // -// $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id type ApnsVoipChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/apnsVoipSandboxChannel.go b/sdk/go/aws/pinpoint/apnsVoipSandboxChannel.go index 12367862a32..2a8cce5e8bf 100644 --- a/sdk/go/aws/pinpoint/apnsVoipSandboxChannel.go +++ b/sdk/go/aws/pinpoint/apnsVoipSandboxChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint APNs VoIP Sandbox Channel resource. // +// > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -59,13 +60,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox // -// $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id type ApnsVoipSandboxChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/app.go b/sdk/go/aws/pinpoint/app.go index e298cee6b7f..492a0ef9e0e 100644 --- a/sdk/go/aws/pinpoint/app.go +++ b/sdk/go/aws/pinpoint/app.go @@ -48,13 +48,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint App using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_app.name // -// $ pulumi import aws:pinpoint/app:App name application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id type App struct { pulumi.CustomResourceState @@ -66,13 +64,13 @@ type App struct { CampaignHook AppCampaignHookPtrOutput `pulumi:"campaignHook"` // The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own Limits AppLimitsPtrOutput `pulumi:"limits"` - // The application name. By default generated by this provider + // The application name. By default generated by TODO Name pulumi.StringOutput `pulumi:"name"` // The name of the Pinpoint application. Conflicts with `name` NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own QuietTime AppQuietTimePtrOutput `pulumi:"quietTime"` - // 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. + // 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. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -116,13 +114,13 @@ type appState struct { CampaignHook *AppCampaignHook `pulumi:"campaignHook"` // The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own Limits *AppLimits `pulumi:"limits"` - // The application name. By default generated by this provider + // The application name. By default generated by TODO Name *string `pulumi:"name"` // The name of the Pinpoint application. Conflicts with `name` NamePrefix *string `pulumi:"namePrefix"` // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own QuietTime *AppQuietTime `pulumi:"quietTime"` - // 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. + // 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. TagsAll map[string]string `pulumi:"tagsAll"` @@ -137,13 +135,13 @@ type AppState struct { CampaignHook AppCampaignHookPtrInput // The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own Limits AppLimitsPtrInput - // The application name. By default generated by this provider + // The application name. By default generated by TODO Name pulumi.StringPtrInput // The name of the Pinpoint application. Conflicts with `name` NamePrefix pulumi.StringPtrInput // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own QuietTime AppQuietTimePtrInput - // 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. + // 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. TagsAll pulumi.StringMapInput @@ -158,13 +156,13 @@ type appArgs struct { CampaignHook *AppCampaignHook `pulumi:"campaignHook"` // The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own Limits *AppLimits `pulumi:"limits"` - // The application name. By default generated by this provider + // The application name. By default generated by TODO Name *string `pulumi:"name"` // The name of the Pinpoint application. Conflicts with `name` NamePrefix *string `pulumi:"namePrefix"` // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own QuietTime *AppQuietTime `pulumi:"quietTime"` - // 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. + // 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"` } @@ -174,13 +172,13 @@ type AppArgs struct { CampaignHook AppCampaignHookPtrInput // The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own Limits AppLimitsPtrInput - // The application name. By default generated by this provider + // The application name. By default generated by TODO Name pulumi.StringPtrInput // The name of the Pinpoint application. Conflicts with `name` NamePrefix pulumi.StringPtrInput // The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own QuietTime AppQuietTimePtrInput - // 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. + // 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 } @@ -315,7 +313,7 @@ func (o AppOutput) Limits() AppLimitsPtrOutput { return o.ApplyT(func(v *App) AppLimitsPtrOutput { return v.Limits }).(AppLimitsPtrOutput) } -// The application name. By default generated by this provider +// The application name. By default generated by TODO func (o AppOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *App) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -330,7 +328,7 @@ func (o AppOutput) QuietTime() AppQuietTimePtrOutput { return o.ApplyT(func(v *App) AppQuietTimePtrOutput { return v.QuietTime }).(AppQuietTimePtrOutput) } -// 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. +// 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 AppOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *App) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/pinpoint/baiduChannel.go b/sdk/go/aws/pinpoint/baiduChannel.go index afcba1c5bef..bf6982d081d 100644 --- a/sdk/go/aws/pinpoint/baiduChannel.go +++ b/sdk/go/aws/pinpoint/baiduChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint Baidu Channel resource. // +// > **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -49,13 +50,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_baidu_channel.channel // -// $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id type BaiduChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/emailChannel.go b/sdk/go/aws/pinpoint/emailChannel.go index 48b90e9704a..762a0efe586 100644 --- a/sdk/go/aws/pinpoint/emailChannel.go +++ b/sdk/go/aws/pinpoint/emailChannel.go @@ -108,13 +108,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_email_channel.email // -// $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id type EmailChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/eventStream.go b/sdk/go/aws/pinpoint/eventStream.go index 092cbfb35d4..a9dfd28d44d 100644 --- a/sdk/go/aws/pinpoint/eventStream.go +++ b/sdk/go/aws/pinpoint/eventStream.go @@ -108,13 +108,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_event_stream.stream // -// $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id type EventStream struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/gcmChannel.go b/sdk/go/aws/pinpoint/gcmChannel.go index a6362b3bedc..5deacd78dbb 100644 --- a/sdk/go/aws/pinpoint/gcmChannel.go +++ b/sdk/go/aws/pinpoint/gcmChannel.go @@ -15,6 +15,7 @@ import ( // Provides a Pinpoint GCM Channel resource. // +// > **Note:** Api Key argument will be stored in the raw state as plain-text. // ## Example Usage // // ```go @@ -48,13 +49,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_gcm_channel.gcm // -// $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id type GcmChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/pinpoint/smsChannel.go b/sdk/go/aws/pinpoint/smsChannel.go index d886819a5ac..07a19decf54 100644 --- a/sdk/go/aws/pinpoint/smsChannel.go +++ b/sdk/go/aws/pinpoint/smsChannel.go @@ -47,13 +47,11 @@ import ( // // ## Import // -// Using `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example: +// In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import { // -// ```sh +// to = aws_pinpoint_sms_channel.sms // -// $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id -// -// ``` +// id = "application-id" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id type SmsChannel struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/ram/principalAssociation.go b/sdk/go/aws/ram/principalAssociation.go index fd35ced8b94..a1e468da515 100644 --- a/sdk/go/aws/ram/principalAssociation.go +++ b/sdk/go/aws/ram/principalAssociation.go @@ -87,13 +87,11 @@ import ( // // ## Import // -// Using `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example: +// In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import { // -// ```sh +// to = aws_ram_principal_association.example // -// $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 -// -// ``` +// id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 type PrincipalAssociation struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/ram/resourceShare.go b/sdk/go/aws/ram/resourceShare.go index 7f0b1f4cc81..c9f84dc24d9 100644 --- a/sdk/go/aws/ram/resourceShare.go +++ b/sdk/go/aws/ram/resourceShare.go @@ -45,13 +45,11 @@ import ( // // ## Import // -// Using `pulumi import`, import resource shares using the `arn` of the resource share. For example: +// In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import { // -// ```sh +// to = aws_ram_resource_share.example // -// $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 -// -// ``` +// id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 type ResourceShare struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/ram/resourceShareAccepter.go b/sdk/go/aws/ram/resourceShareAccepter.go index 090c52eba58..94105006939 100644 --- a/sdk/go/aws/ram/resourceShareAccepter.go +++ b/sdk/go/aws/ram/resourceShareAccepter.go @@ -19,7 +19,7 @@ import ( // // ## Example Usage // -// This configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `ram.ResourceShare` and uses a data source in the _receiver_ account to create a `ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `ram.ResourceShareAccepter`. +// This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `ram.ResourceShare` and uses a data source in the _receiver_ account to create a `ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `ram.ResourceShareAccepter`. // // ```go // package main @@ -74,13 +74,11 @@ import ( // // ## Import // -// Using `pulumi import`, import resource share accepters using the resource share ARN. For example: +// In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import { // -// ```sh +// to = aws_ram_resource_share_accepter.example // -// $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 -// -// ``` +// id = "arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 type ResourceShareAccepter struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/rds/clusterParameterGroup.go b/sdk/go/aws/rds/clusterParameterGroup.go index 0feafc6eb13..0e026c7ad6f 100644 --- a/sdk/go/aws/rds/clusterParameterGroup.go +++ b/sdk/go/aws/rds/clusterParameterGroup.go @@ -57,19 +57,17 @@ import ( // // ## Import // -// Using `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example: +// In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import { // -// ```sh +// to = aws_rds_cluster_parameter_group.cluster_pg // -// $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1 -// -// ``` +// id = "production-pg-1" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 type ClusterParameterGroup struct { pulumi.CustomResourceState // The ARN of the db cluster parameter group. Arn pulumi.StringOutput `pulumi:"arn"` - // The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + // The description of the DB cluster parameter group. Defaults to "Managed by TODO". Description pulumi.StringOutput `pulumi:"description"` // The family of the DB cluster parameter group. Family pulumi.StringOutput `pulumi:"family"` @@ -79,7 +77,7 @@ type ClusterParameterGroup struct { NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. Parameters ClusterParameterGroupParameterArrayOutput `pulumi:"parameters"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -123,7 +121,7 @@ func GetClusterParameterGroup(ctx *pulumi.Context, type clusterParameterGroupState struct { // The ARN of the db cluster parameter group. Arn *string `pulumi:"arn"` - // The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + // The description of the DB cluster parameter group. Defaults to "Managed by TODO". Description *string `pulumi:"description"` // The family of the DB cluster parameter group. Family *string `pulumi:"family"` @@ -133,7 +131,7 @@ type clusterParameterGroupState struct { NamePrefix *string `pulumi:"namePrefix"` // A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. Parameters []ClusterParameterGroupParameter `pulumi:"parameters"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -142,7 +140,7 @@ type clusterParameterGroupState struct { type ClusterParameterGroupState struct { // The ARN of the db cluster parameter group. Arn pulumi.StringPtrInput - // The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + // The description of the DB cluster parameter group. Defaults to "Managed by TODO". Description pulumi.StringPtrInput // The family of the DB cluster parameter group. Family pulumi.StringPtrInput @@ -152,7 +150,7 @@ type ClusterParameterGroupState struct { NamePrefix pulumi.StringPtrInput // A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. Parameters ClusterParameterGroupParameterArrayInput - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -163,7 +161,7 @@ func (ClusterParameterGroupState) ElementType() reflect.Type { } type clusterParameterGroupArgs struct { - // The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + // The description of the DB cluster parameter group. Defaults to "Managed by TODO". Description *string `pulumi:"description"` // The family of the DB cluster parameter group. Family string `pulumi:"family"` @@ -173,13 +171,13 @@ type clusterParameterGroupArgs struct { NamePrefix *string `pulumi:"namePrefix"` // A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. Parameters []ClusterParameterGroupParameter `pulumi:"parameters"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } // The set of arguments for constructing a ClusterParameterGroup resource. type ClusterParameterGroupArgs struct { - // The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + // The description of the DB cluster parameter group. Defaults to "Managed by TODO". Description pulumi.StringPtrInput // The family of the DB cluster parameter group. Family pulumi.StringInput @@ -189,7 +187,7 @@ type ClusterParameterGroupArgs struct { NamePrefix pulumi.StringPtrInput // A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. Parameters ClusterParameterGroupParameterArrayInput - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -309,7 +307,7 @@ func (o ClusterParameterGroupOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *ClusterParameterGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". +// The description of the DB cluster parameter group. Defaults to "Managed by TODO". func (o ClusterParameterGroupOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *ClusterParameterGroup) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } @@ -334,7 +332,7 @@ func (o ClusterParameterGroupOutput) Parameters() ClusterParameterGroupParameter return o.ApplyT(func(v *ClusterParameterGroup) ClusterParameterGroupParameterArrayOutput { return v.Parameters }).(ClusterParameterGroupParameterArrayOutput) } -// 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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o ClusterParameterGroupOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *ClusterParameterGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/rds/instanceAutomatedBackupsReplication.go b/sdk/go/aws/rds/instanceAutomatedBackupsReplication.go index ebd9d227b96..7fa537dae09 100644 --- a/sdk/go/aws/rds/instanceAutomatedBackupsReplication.go +++ b/sdk/go/aws/rds/instanceAutomatedBackupsReplication.go @@ -131,13 +131,11 @@ import ( // // ## Import // -// Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example: +// In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import { // -// ```sh +// to = aws_db_instance_automated_backups_replication.default // -// $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my -// -// ``` +// id = "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my type InstanceAutomatedBackupsReplication struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/route53/resolverFirewallConfig.go b/sdk/go/aws/route53/resolverFirewallConfig.go index 4c637191122..170c3eff5bd 100644 --- a/sdk/go/aws/route53/resolverFirewallConfig.go +++ b/sdk/go/aws/route53/resolverFirewallConfig.go @@ -53,13 +53,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import { // -// ```sh +// to = aws_route53_resolver_firewall_config.example // -// $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95 -// -// ``` +// id = "rdsc-be1866ecc1683e95" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 type ResolverFirewallConfig struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/route53/resolverFirewallDomainList.go b/sdk/go/aws/route53/resolverFirewallDomainList.go index 56cd30a114e..83e1e2b1ccc 100644 --- a/sdk/go/aws/route53/resolverFirewallDomainList.go +++ b/sdk/go/aws/route53/resolverFirewallDomainList.go @@ -40,15 +40,15 @@ import ( // // ## Import // -// # Using `pulumi import`, import +// # In TODO v1.5.0 and later, use an `import` block to import // -// Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example: +// Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import { // -// ```sh +// to = aws_route53_resolver_firewall_domain_list.example // -// $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef +// id = "rslvr-fdl-0123456789abcdef" } Using `TODO import`, import // -// ``` +// Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef type ResolverFirewallDomainList struct { pulumi.CustomResourceState @@ -58,7 +58,7 @@ type ResolverFirewallDomainList struct { Domains pulumi.StringArrayOutput `pulumi:"domains"` // A name that lets you identify the domain list, to manage and use it. Name pulumi.StringOutput `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. f 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. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -100,7 +100,7 @@ type resolverFirewallDomainListState struct { Domains []string `pulumi:"domains"` // A name that lets you identify the domain list, to manage and use it. Name *string `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. f 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. TagsAll map[string]string `pulumi:"tagsAll"` @@ -113,7 +113,7 @@ type ResolverFirewallDomainListState struct { Domains pulumi.StringArrayInput // A name that lets you identify the domain list, to manage and use it. Name 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. + // A map of tags to assign to the resource. f 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. TagsAll pulumi.StringMapInput @@ -128,7 +128,7 @@ type resolverFirewallDomainListArgs struct { Domains []string `pulumi:"domains"` // A name that lets you identify the domain list, to manage and use it. Name *string `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. f 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"` } @@ -138,7 +138,7 @@ type ResolverFirewallDomainListArgs struct { Domains pulumi.StringArrayInput // A name that lets you identify the domain list, to manage and use it. Name 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. + // A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -268,7 +268,7 @@ func (o ResolverFirewallDomainListOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringOutput { return v.Name }).(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. +// A map of tags to assign to the resource. f configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o ResolverFirewallDomainListOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *ResolverFirewallDomainList) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/route53/resolverFirewallRule.go b/sdk/go/aws/route53/resolverFirewallRule.go index eac9ea99eb7..ffd6ab71859 100644 --- a/sdk/go/aws/route53/resolverFirewallRule.go +++ b/sdk/go/aws/route53/resolverFirewallRule.go @@ -65,15 +65,15 @@ import ( // // ## Import // -// # Using `pulumi import`, import +// # In TODO v1.5.0 and later, use an `import` block to import // -// Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example: +// Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import { // -// ```sh +// to = aws_route53_resolver_firewall_rule.example // -// $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef +// id = "rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" } Using `TODO import`, import // -// ``` +// Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef type ResolverFirewallRule struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/route53/resolverFirewallRuleGroup.go b/sdk/go/aws/route53/resolverFirewallRuleGroup.go index d13f7e7c320..b2e1afdcb59 100644 --- a/sdk/go/aws/route53/resolverFirewallRuleGroup.go +++ b/sdk/go/aws/route53/resolverFirewallRuleGroup.go @@ -40,15 +40,15 @@ import ( // // ## Import // -// # Using `pulumi import`, import +// # In TODO v1.5.0 and later, use an `import` block to import // -// Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example: +// Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import { // -// ```sh +// to = aws_route53_resolver_firewall_rule_group.example // -// $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef +// id = "rslvr-frg-0123456789abcdef" } Using `TODO import`, import // -// ``` +// Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef type ResolverFirewallRuleGroup struct { pulumi.CustomResourceState @@ -60,7 +60,7 @@ type ResolverFirewallRuleGroup struct { OwnerId pulumi.StringOutput `pulumi:"ownerId"` // Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM). Valid values: `NOT_SHARED`, `SHARED_BY_ME`, `SHARED_WITH_ME` ShareStatus pulumi.StringOutput `pulumi:"shareStatus"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -104,7 +104,7 @@ type resolverFirewallRuleGroupState struct { OwnerId *string `pulumi:"ownerId"` // Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM). Valid values: `NOT_SHARED`, `SHARED_BY_ME`, `SHARED_WITH_ME` ShareStatus *string `pulumi:"shareStatus"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` @@ -119,7 +119,7 @@ type ResolverFirewallRuleGroupState struct { OwnerId pulumi.StringPtrInput // Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM). Valid values: `NOT_SHARED`, `SHARED_BY_ME`, `SHARED_WITH_ME` ShareStatus 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput @@ -132,7 +132,7 @@ func (ResolverFirewallRuleGroupState) ElementType() reflect.Type { type resolverFirewallRuleGroupArgs struct { // A name that lets you identify the rule group, to manage and use it. Name *string `pulumi:"name"` - // 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` } @@ -140,7 +140,7 @@ type resolverFirewallRuleGroupArgs struct { type ResolverFirewallRuleGroupArgs struct { // A name that lets you identify the rule group, to manage and use it. Name 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. + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput } @@ -275,7 +275,7 @@ func (o ResolverFirewallRuleGroupOutput) ShareStatus() pulumi.StringOutput { return o.ApplyT(func(v *ResolverFirewallRuleGroup) pulumi.StringOutput { return v.ShareStatus }).(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. +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o ResolverFirewallRuleGroupOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *ResolverFirewallRuleGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/route53/resolverFirewallRuleGroupAssociation.go b/sdk/go/aws/route53/resolverFirewallRuleGroupAssociation.go index 562409f941d..368422abf0b 100644 --- a/sdk/go/aws/route53/resolverFirewallRuleGroupAssociation.go +++ b/sdk/go/aws/route53/resolverFirewallRuleGroupAssociation.go @@ -49,13 +49,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import { // -// ```sh +// to = aws_route53_resolver_firewall_rule_group_association.example // -// $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef -// -// ``` +// id = "rslvr-frgassoc-0123456789abcdef" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef type ResolverFirewallRuleGroupAssociation struct { pulumi.CustomResourceState @@ -69,7 +67,7 @@ type ResolverFirewallRuleGroupAssociation struct { Name pulumi.StringOutput `pulumi:"name"` // The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. Priority pulumi.IntOutput `pulumi:"priority"` - // 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. + // 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. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` @@ -126,7 +124,7 @@ type resolverFirewallRuleGroupAssociationState struct { Name *string `pulumi:"name"` // The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. Priority *int `pulumi:"priority"` - // 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. + // 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. TagsAll map[string]string `pulumi:"tagsAll"` @@ -145,7 +143,7 @@ type ResolverFirewallRuleGroupAssociationState struct { Name pulumi.StringPtrInput // The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. Priority pulumi.IntPtrInput - // 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. + // 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. TagsAll pulumi.StringMapInput @@ -166,7 +164,7 @@ type resolverFirewallRuleGroupAssociationArgs struct { Name *string `pulumi:"name"` // The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. Priority int `pulumi:"priority"` - // 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. + // 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 unique identifier of the VPC that you want to associate with the rule group. VpcId string `pulumi:"vpcId"` @@ -182,7 +180,7 @@ type ResolverFirewallRuleGroupAssociationArgs struct { Name pulumi.StringPtrInput // The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. Priority pulumi.IntInput - // 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. + // 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 // The unique identifier of the VPC that you want to associate with the rule group. VpcId pulumi.StringInput @@ -324,7 +322,7 @@ func (o ResolverFirewallRuleGroupAssociationOutput) Priority() pulumi.IntOutput return o.ApplyT(func(v *ResolverFirewallRuleGroupAssociation) pulumi.IntOutput { return v.Priority }).(pulumi.IntOutput) } -// 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. +// 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 ResolverFirewallRuleGroupAssociationOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *ResolverFirewallRuleGroupAssociation) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/s3/getObjects.go b/sdk/go/aws/s3/getObjects.go index cfdf2280b33..6b2baa8da6e 100644 --- a/sdk/go/aws/s3/getObjects.go +++ b/sdk/go/aws/s3/getObjects.go @@ -39,6 +39,8 @@ type GetObjectsArgs struct { MaxKeys *int `pulumi:"maxKeys"` // Limits results to object keys with this prefix (Default: none) Prefix *string `pulumi:"prefix"` + // Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + RequestPayer *string `pulumi:"requestPayer"` // Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) StartAfter *string `pulumi:"startAfter"` } @@ -57,9 +59,12 @@ type GetObjectsResult struct { Keys []string `pulumi:"keys"` MaxKeys *int `pulumi:"maxKeys"` // List of strings representing object owner IDs (see `fetchOwner` above) - Owners []string `pulumi:"owners"` - Prefix *string `pulumi:"prefix"` - StartAfter *string `pulumi:"startAfter"` + Owners []string `pulumi:"owners"` + Prefix *string `pulumi:"prefix"` + // If present, indicates that the requester was successfully charged for the request. + RequestCharged string `pulumi:"requestCharged"` + RequestPayer *string `pulumi:"requestPayer"` + StartAfter *string `pulumi:"startAfter"` } func GetObjectsOutput(ctx *pulumi.Context, args GetObjectsOutputArgs, opts ...pulumi.InvokeOption) GetObjectsResultOutput { @@ -89,6 +94,8 @@ type GetObjectsOutputArgs struct { MaxKeys pulumi.IntPtrInput `pulumi:"maxKeys"` // Limits results to object keys with this prefix (Default: none) Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + RequestPayer pulumi.StringPtrInput `pulumi:"requestPayer"` // Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) StartAfter pulumi.StringPtrInput `pulumi:"startAfter"` } @@ -162,6 +169,15 @@ func (o GetObjectsResultOutput) Prefix() pulumi.StringPtrOutput { return o.ApplyT(func(v GetObjectsResult) *string { return v.Prefix }).(pulumi.StringPtrOutput) } +// If present, indicates that the requester was successfully charged for the request. +func (o GetObjectsResultOutput) RequestCharged() pulumi.StringOutput { + return o.ApplyT(func(v GetObjectsResult) string { return v.RequestCharged }).(pulumi.StringOutput) +} + +func (o GetObjectsResultOutput) RequestPayer() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetObjectsResult) *string { return v.RequestPayer }).(pulumi.StringPtrOutput) +} + func (o GetObjectsResultOutput) StartAfter() pulumi.StringPtrOutput { return o.ApplyT(func(v GetObjectsResult) *string { return v.StartAfter }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/s3control/objectLambdaAccessPoint.go b/sdk/go/aws/s3control/objectLambdaAccessPoint.go index ddb36f5d7ae..47f78db25e0 100644 --- a/sdk/go/aws/s3control/objectLambdaAccessPoint.go +++ b/sdk/go/aws/s3control/objectLambdaAccessPoint.go @@ -81,6 +81,8 @@ type ObjectLambdaAccessPoint struct { // The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. AccountId pulumi.StringOutput `pulumi:"accountId"` + // Alias for the S3 Object Lambda Access Point. + Alias pulumi.StringOutput `pulumi:"alias"` // Amazon Resource Name (ARN) of the Object Lambda Access Point. Arn pulumi.StringOutput `pulumi:"arn"` // A configuration block containing details about the Object Lambda Access Point. See Configuration below for more details. @@ -124,6 +126,8 @@ func GetObjectLambdaAccessPoint(ctx *pulumi.Context, type objectLambdaAccessPointState struct { // The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. AccountId *string `pulumi:"accountId"` + // Alias for the S3 Object Lambda Access Point. + Alias *string `pulumi:"alias"` // Amazon Resource Name (ARN) of the Object Lambda Access Point. Arn *string `pulumi:"arn"` // A configuration block containing details about the Object Lambda Access Point. See Configuration below for more details. @@ -135,6 +139,8 @@ type objectLambdaAccessPointState struct { type ObjectLambdaAccessPointState struct { // The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. AccountId pulumi.StringPtrInput + // Alias for the S3 Object Lambda Access Point. + Alias pulumi.StringPtrInput // Amazon Resource Name (ARN) of the Object Lambda Access Point. Arn pulumi.StringPtrInput // A configuration block containing details about the Object Lambda Access Point. See Configuration below for more details. @@ -282,6 +288,11 @@ func (o ObjectLambdaAccessPointOutput) AccountId() pulumi.StringOutput { return o.ApplyT(func(v *ObjectLambdaAccessPoint) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) } +// Alias for the S3 Object Lambda Access Point. +func (o ObjectLambdaAccessPointOutput) Alias() pulumi.StringOutput { + return o.ApplyT(func(v *ObjectLambdaAccessPoint) pulumi.StringOutput { return v.Alias }).(pulumi.StringOutput) +} + // Amazon Resource Name (ARN) of the Object Lambda Access Point. func (o ObjectLambdaAccessPointOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *ObjectLambdaAccessPoint) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/securityhub/account.go b/sdk/go/aws/securityhub/account.go index de61c3c965e..1581a6a109f 100644 --- a/sdk/go/aws/securityhub/account.go +++ b/sdk/go/aws/securityhub/account.go @@ -42,13 +42,11 @@ import ( // // ## Import // -// Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { // -// ```sh +// to = aws_securityhub_account.example // -// $ pulumi import aws:securityhub/account:Account example 123456789012 -// -// ``` +// id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 type Account struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/securityhub/findingAggregator.go b/sdk/go/aws/securityhub/findingAggregator.go index 5b12506d86c..d17e2772318 100644 --- a/sdk/go/aws/securityhub/findingAggregator.go +++ b/sdk/go/aws/securityhub/findingAggregator.go @@ -126,13 +126,11 @@ import ( // // ## Import // -// Using `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example: +// In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import { // -// ```sh +// to = aws_securityhub_finding_aggregator.example // -// $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 -// -// ``` +// id = "arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 type FindingAggregator struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/securityhub/inviteAccepter.go b/sdk/go/aws/securityhub/inviteAccepter.go index f2ae2d18496..4e31d9950e9 100644 --- a/sdk/go/aws/securityhub/inviteAccepter.go +++ b/sdk/go/aws/securityhub/inviteAccepter.go @@ -63,13 +63,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import { // -// ```sh +// to = aws_securityhub_invite_accepter.example // -// $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012 -// -// ``` +// id = "123456789012" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 type InviteAccepter struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/securityhub/member.go b/sdk/go/aws/securityhub/member.go index 193ce5a3345..ed4d5f3b5e0 100644 --- a/sdk/go/aws/securityhub/member.go +++ b/sdk/go/aws/securityhub/member.go @@ -51,13 +51,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Security Hub members using their account ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import { // -// ```sh +// to = aws_securityhub_member.example // -// $ pulumi import aws:securityhub/member:Member example 123456789012 -// -// ``` +// id = "123456789012" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 type Member struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/securityhub/organizationConfiguration.go b/sdk/go/aws/securityhub/organizationConfiguration.go index baa6af5b4cb..82071f93459 100644 --- a/sdk/go/aws/securityhub/organizationConfiguration.go +++ b/sdk/go/aws/securityhub/organizationConfiguration.go @@ -15,9 +15,9 @@ import ( // Manages the Security Hub Organization Configuration. // -// > **NOTE:** This resource requires an `securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation +// > **NOTE:** This resource requires an `securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation // -// > **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration. +// > **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration. // // ## Example Usage // @@ -65,13 +65,11 @@ import ( // // ## Import // -// Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: +// In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { // -// ```sh +// to = aws_securityhub_organization_configuration.example // -// $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012 -// -// ``` +// id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 type OrganizationConfiguration struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/securityhub/productSubscription.go b/sdk/go/aws/securityhub/productSubscription.go index dacf916d34c..eea423f0106 100644 --- a/sdk/go/aws/securityhub/productSubscription.go +++ b/sdk/go/aws/securityhub/productSubscription.go @@ -56,13 +56,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: +// In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import { // -// ```sh +// to = aws_securityhub_product_subscription.example // -// $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement -// -// ``` +// id = "arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement type ProductSubscription struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/securityhub/standardsControl.go b/sdk/go/aws/securityhub/standardsControl.go index 1ff2d2cf87f..9f61435565f 100644 --- a/sdk/go/aws/securityhub/standardsControl.go +++ b/sdk/go/aws/securityhub/standardsControl.go @@ -16,8 +16,8 @@ import ( // Disable/enable Security Hub standards control in the current region. // // The `securityhub.StandardsControl` behaves differently from normal resources, in that -// The provider does not _create_ this resource, but instead "adopts" it -// into management. When you _delete_ this resource configuration, the provider "abandons" resource as is and just removes it from the state. +// TODO does not _create_ this resource, but instead "adopts" it +// into management. When you _delete_ this resource configuration, TODO "abandons" resource as is and just removes it from the state. // // ## Example Usage // diff --git a/sdk/go/aws/securityhub/standardsSubscription.go b/sdk/go/aws/securityhub/standardsSubscription.go index 8688c4651f7..fe2060d4912 100644 --- a/sdk/go/aws/securityhub/standardsSubscription.go +++ b/sdk/go/aws/securityhub/standardsSubscription.go @@ -64,19 +64,19 @@ import ( // // ## Import // -// Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example: +// In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import { // -// ```sh +// to = aws_securityhub_standards_subscription.cis // -// $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 +// id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" } terraform import { // -// ``` -// ```sh -// $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 -// ``` -// ```sh -// $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 -// ``` +// to = aws_securityhub_standards_subscription.pci_321 +// +// id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" } terraform import { +// +// to = aws_securityhub_standards_subscription.nist_800_53_rev_5 +// +// id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 type StandardsSubscription struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/servicecatalog/principalPortfolioAssociation.go b/sdk/go/aws/servicecatalog/principalPortfolioAssociation.go index 03d8d329c82..c57146a1c21 100644 --- a/sdk/go/aws/servicecatalog/principalPortfolioAssociation.go +++ b/sdk/go/aws/servicecatalog/principalPortfolioAssociation.go @@ -45,11 +45,13 @@ import ( // // ## Import // -// Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example: +// In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: +// +// Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: // // ```sh // -// $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f +// $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM // // ``` type PrincipalPortfolioAssociation struct { @@ -63,7 +65,7 @@ type PrincipalPortfolioAssociation struct { // // The following arguments are optional: PrincipalArn pulumi.StringOutput `pulumi:"principalArn"` - // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. PrincipalType pulumi.StringPtrOutput `pulumi:"principalType"` } @@ -111,7 +113,7 @@ type principalPortfolioAssociationState struct { // // The following arguments are optional: PrincipalArn *string `pulumi:"principalArn"` - // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. PrincipalType *string `pulumi:"principalType"` } @@ -124,7 +126,7 @@ type PrincipalPortfolioAssociationState struct { // // The following arguments are optional: PrincipalArn pulumi.StringPtrInput - // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. PrincipalType pulumi.StringPtrInput } @@ -141,7 +143,7 @@ type principalPortfolioAssociationArgs struct { // // The following arguments are optional: PrincipalArn string `pulumi:"principalArn"` - // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. PrincipalType *string `pulumi:"principalType"` } @@ -155,7 +157,7 @@ type PrincipalPortfolioAssociationArgs struct { // // The following arguments are optional: PrincipalArn pulumi.StringInput - // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. PrincipalType pulumi.StringPtrInput } @@ -287,7 +289,7 @@ func (o PrincipalPortfolioAssociationOutput) PrincipalArn() pulumi.StringOutput return o.ApplyT(func(v *PrincipalPortfolioAssociation) pulumi.StringOutput { return v.PrincipalArn }).(pulumi.StringOutput) } -// Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. +// Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. func (o PrincipalPortfolioAssociationOutput) PrincipalType() pulumi.StringPtrOutput { return o.ApplyT(func(v *PrincipalPortfolioAssociation) pulumi.StringPtrOutput { return v.PrincipalType }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ses/identityNotificationTopic.go b/sdk/go/aws/ses/identityNotificationTopic.go index 4239be4362f..b8cabc4c6d3 100644 --- a/sdk/go/aws/ses/identityNotificationTopic.go +++ b/sdk/go/aws/ses/identityNotificationTopic.go @@ -46,13 +46,11 @@ import ( // // ## Import // -// Using `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example: +// In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import { // -// ```sh +// to = aws_ses_identity_notification_topic.test // -// $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce' -// -// ``` +// id = "example.com|Bounce" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' type IdentityNotificationTopic struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/shield/drtAccessLogBucketAssociation.go b/sdk/go/aws/shield/drtAccessLogBucketAssociation.go new file mode 100644 index 00000000000..692ff17bf62 --- /dev/null +++ b/sdk/go/aws/shield/drtAccessLogBucketAssociation.go @@ -0,0 +1,321 @@ +// 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 shield + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT). +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// testDrtAccessRoleArnAssociation, err := shield.NewDrtAccessRoleArnAssociation(ctx, "testDrtAccessRoleArnAssociation", &shield.DrtAccessRoleArnAssociationArgs{ +// RoleArn: pulumi.String(fmt.Sprintf("arn:aws:iam:%v:%v:%v", data.Aws_region.Current.Name, data.Aws_caller_identity.Current.Account_id, _var.Shield_drt_access_role_name)), +// }) +// if err != nil { +// return err +// } +// _, err = shield.NewDrtAccessLogBucketAssociation(ctx, "testDrtAccessLogBucketAssociation", &shield.DrtAccessLogBucketAssociationArgs{ +// LogBucket: pulumi.Any(_var.Shield_drt_access_log_bucket), +// RoleArnAssociationId: testDrtAccessRoleArnAssociation.ID(), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type DrtAccessLogBucketAssociation struct { + pulumi.CustomResourceState + + // The Amazon S3 bucket that contains the logs that you want to share. + LogBucket pulumi.StringOutput `pulumi:"logBucket"` + // The ID of the Role Arn association used for allowing Shield DRT Access. + RoleArnAssociationId pulumi.StringOutput `pulumi:"roleArnAssociationId"` + Timeouts DrtAccessLogBucketAssociationTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewDrtAccessLogBucketAssociation registers a new resource with the given unique name, arguments, and options. +func NewDrtAccessLogBucketAssociation(ctx *pulumi.Context, + name string, args *DrtAccessLogBucketAssociationArgs, opts ...pulumi.ResourceOption) (*DrtAccessLogBucketAssociation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.LogBucket == nil { + return nil, errors.New("invalid value for required argument 'LogBucket'") + } + if args.RoleArnAssociationId == nil { + return nil, errors.New("invalid value for required argument 'RoleArnAssociationId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DrtAccessLogBucketAssociation + err := ctx.RegisterResource("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDrtAccessLogBucketAssociation gets an existing DrtAccessLogBucketAssociation 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 GetDrtAccessLogBucketAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DrtAccessLogBucketAssociationState, opts ...pulumi.ResourceOption) (*DrtAccessLogBucketAssociation, error) { + var resource DrtAccessLogBucketAssociation + err := ctx.ReadResource("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DrtAccessLogBucketAssociation resources. +type drtAccessLogBucketAssociationState struct { + // The Amazon S3 bucket that contains the logs that you want to share. + LogBucket *string `pulumi:"logBucket"` + // The ID of the Role Arn association used for allowing Shield DRT Access. + RoleArnAssociationId *string `pulumi:"roleArnAssociationId"` + Timeouts *DrtAccessLogBucketAssociationTimeouts `pulumi:"timeouts"` +} + +type DrtAccessLogBucketAssociationState struct { + // The Amazon S3 bucket that contains the logs that you want to share. + LogBucket pulumi.StringPtrInput + // The ID of the Role Arn association used for allowing Shield DRT Access. + RoleArnAssociationId pulumi.StringPtrInput + Timeouts DrtAccessLogBucketAssociationTimeoutsPtrInput +} + +func (DrtAccessLogBucketAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*drtAccessLogBucketAssociationState)(nil)).Elem() +} + +type drtAccessLogBucketAssociationArgs struct { + // The Amazon S3 bucket that contains the logs that you want to share. + LogBucket string `pulumi:"logBucket"` + // The ID of the Role Arn association used for allowing Shield DRT Access. + RoleArnAssociationId string `pulumi:"roleArnAssociationId"` + Timeouts *DrtAccessLogBucketAssociationTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a DrtAccessLogBucketAssociation resource. +type DrtAccessLogBucketAssociationArgs struct { + // The Amazon S3 bucket that contains the logs that you want to share. + LogBucket pulumi.StringInput + // The ID of the Role Arn association used for allowing Shield DRT Access. + RoleArnAssociationId pulumi.StringInput + Timeouts DrtAccessLogBucketAssociationTimeoutsPtrInput +} + +func (DrtAccessLogBucketAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*drtAccessLogBucketAssociationArgs)(nil)).Elem() +} + +type DrtAccessLogBucketAssociationInput interface { + pulumi.Input + + ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput + ToDrtAccessLogBucketAssociationOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationOutput +} + +func (*DrtAccessLogBucketAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessLogBucketAssociation)(nil)).Elem() +} + +func (i *DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput { + return i.ToDrtAccessLogBucketAssociationOutputWithContext(context.Background()) +} + +func (i *DrtAccessLogBucketAssociation) ToDrtAccessLogBucketAssociationOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessLogBucketAssociationOutput) +} + +func (i *DrtAccessLogBucketAssociation) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessLogBucketAssociation] { + return pulumix.Output[*DrtAccessLogBucketAssociation]{ + OutputState: i.ToDrtAccessLogBucketAssociationOutputWithContext(ctx).OutputState, + } +} + +// DrtAccessLogBucketAssociationArrayInput is an input type that accepts DrtAccessLogBucketAssociationArray and DrtAccessLogBucketAssociationArrayOutput values. +// You can construct a concrete instance of `DrtAccessLogBucketAssociationArrayInput` via: +// +// DrtAccessLogBucketAssociationArray{ DrtAccessLogBucketAssociationArgs{...} } +type DrtAccessLogBucketAssociationArrayInput interface { + pulumi.Input + + ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput + ToDrtAccessLogBucketAssociationArrayOutputWithContext(context.Context) DrtAccessLogBucketAssociationArrayOutput +} + +type DrtAccessLogBucketAssociationArray []DrtAccessLogBucketAssociationInput + +func (DrtAccessLogBucketAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DrtAccessLogBucketAssociation)(nil)).Elem() +} + +func (i DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput { + return i.ToDrtAccessLogBucketAssociationArrayOutputWithContext(context.Background()) +} + +func (i DrtAccessLogBucketAssociationArray) ToDrtAccessLogBucketAssociationArrayOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessLogBucketAssociationArrayOutput) +} + +func (i DrtAccessLogBucketAssociationArray) ToOutput(ctx context.Context) pulumix.Output[[]*DrtAccessLogBucketAssociation] { + return pulumix.Output[[]*DrtAccessLogBucketAssociation]{ + OutputState: i.ToDrtAccessLogBucketAssociationArrayOutputWithContext(ctx).OutputState, + } +} + +// DrtAccessLogBucketAssociationMapInput is an input type that accepts DrtAccessLogBucketAssociationMap and DrtAccessLogBucketAssociationMapOutput values. +// You can construct a concrete instance of `DrtAccessLogBucketAssociationMapInput` via: +// +// DrtAccessLogBucketAssociationMap{ "key": DrtAccessLogBucketAssociationArgs{...} } +type DrtAccessLogBucketAssociationMapInput interface { + pulumi.Input + + ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput + ToDrtAccessLogBucketAssociationMapOutputWithContext(context.Context) DrtAccessLogBucketAssociationMapOutput +} + +type DrtAccessLogBucketAssociationMap map[string]DrtAccessLogBucketAssociationInput + +func (DrtAccessLogBucketAssociationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DrtAccessLogBucketAssociation)(nil)).Elem() +} + +func (i DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput { + return i.ToDrtAccessLogBucketAssociationMapOutputWithContext(context.Background()) +} + +func (i DrtAccessLogBucketAssociationMap) ToDrtAccessLogBucketAssociationMapOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessLogBucketAssociationMapOutput) +} + +func (i DrtAccessLogBucketAssociationMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*DrtAccessLogBucketAssociation] { + return pulumix.Output[map[string]*DrtAccessLogBucketAssociation]{ + OutputState: i.ToDrtAccessLogBucketAssociationMapOutputWithContext(ctx).OutputState, + } +} + +type DrtAccessLogBucketAssociationOutput struct{ *pulumi.OutputState } + +func (DrtAccessLogBucketAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessLogBucketAssociation)(nil)).Elem() +} + +func (o DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutput() DrtAccessLogBucketAssociationOutput { + return o +} + +func (o DrtAccessLogBucketAssociationOutput) ToDrtAccessLogBucketAssociationOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationOutput { + return o +} + +func (o DrtAccessLogBucketAssociationOutput) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessLogBucketAssociation] { + return pulumix.Output[*DrtAccessLogBucketAssociation]{ + OutputState: o.OutputState, + } +} + +// The Amazon S3 bucket that contains the logs that you want to share. +func (o DrtAccessLogBucketAssociationOutput) LogBucket() pulumi.StringOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociation) pulumi.StringOutput { return v.LogBucket }).(pulumi.StringOutput) +} + +// The ID of the Role Arn association used for allowing Shield DRT Access. +func (o DrtAccessLogBucketAssociationOutput) RoleArnAssociationId() pulumi.StringOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociation) pulumi.StringOutput { return v.RoleArnAssociationId }).(pulumi.StringOutput) +} + +func (o DrtAccessLogBucketAssociationOutput) Timeouts() DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociation) DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return v.Timeouts + }).(DrtAccessLogBucketAssociationTimeoutsPtrOutput) +} + +type DrtAccessLogBucketAssociationArrayOutput struct{ *pulumi.OutputState } + +func (DrtAccessLogBucketAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DrtAccessLogBucketAssociation)(nil)).Elem() +} + +func (o DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutput() DrtAccessLogBucketAssociationArrayOutput { + return o +} + +func (o DrtAccessLogBucketAssociationArrayOutput) ToDrtAccessLogBucketAssociationArrayOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationArrayOutput { + return o +} + +func (o DrtAccessLogBucketAssociationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*DrtAccessLogBucketAssociation] { + return pulumix.Output[[]*DrtAccessLogBucketAssociation]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessLogBucketAssociationArrayOutput) Index(i pulumi.IntInput) DrtAccessLogBucketAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DrtAccessLogBucketAssociation { + return vs[0].([]*DrtAccessLogBucketAssociation)[vs[1].(int)] + }).(DrtAccessLogBucketAssociationOutput) +} + +type DrtAccessLogBucketAssociationMapOutput struct{ *pulumi.OutputState } + +func (DrtAccessLogBucketAssociationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DrtAccessLogBucketAssociation)(nil)).Elem() +} + +func (o DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutput() DrtAccessLogBucketAssociationMapOutput { + return o +} + +func (o DrtAccessLogBucketAssociationMapOutput) ToDrtAccessLogBucketAssociationMapOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationMapOutput { + return o +} + +func (o DrtAccessLogBucketAssociationMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*DrtAccessLogBucketAssociation] { + return pulumix.Output[map[string]*DrtAccessLogBucketAssociation]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessLogBucketAssociationMapOutput) MapIndex(k pulumi.StringInput) DrtAccessLogBucketAssociationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DrtAccessLogBucketAssociation { + return vs[0].(map[string]*DrtAccessLogBucketAssociation)[vs[1].(string)] + }).(DrtAccessLogBucketAssociationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessLogBucketAssociationInput)(nil)).Elem(), &DrtAccessLogBucketAssociation{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessLogBucketAssociationArrayInput)(nil)).Elem(), DrtAccessLogBucketAssociationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessLogBucketAssociationMapInput)(nil)).Elem(), DrtAccessLogBucketAssociationMap{}) + pulumi.RegisterOutputType(DrtAccessLogBucketAssociationOutput{}) + pulumi.RegisterOutputType(DrtAccessLogBucketAssociationArrayOutput{}) + pulumi.RegisterOutputType(DrtAccessLogBucketAssociationMapOutput{}) +} diff --git a/sdk/go/aws/shield/drtAccessRoleArnAssociation.go b/sdk/go/aws/shield/drtAccessRoleArnAssociation.go new file mode 100644 index 00000000000..84673870ce9 --- /dev/null +++ b/sdk/go/aws/shield/drtAccessRoleArnAssociation.go @@ -0,0 +1,325 @@ +// 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 shield + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html) +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/shield" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Sid": "", +// "Effect": "Allow", +// "Principal": map[string]interface{}{ +// "Service": "drt.shield.amazonaws.com", +// }, +// "Action": "sts:AssumeRole", +// }, +// }, +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// testRole, err := iam.NewRole(ctx, "testRole", &iam.RoleArgs{ +// AssumeRolePolicy: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// _, err = iam.NewRolePolicyAttachment(ctx, "testRolePolicyAttachment", &iam.RolePolicyAttachmentArgs{ +// Role: testRole.Name, +// PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy"), +// }) +// if err != nil { +// return err +// } +// _, err = shield.NewDrtAccessRoleArnAssociation(ctx, "testDrtAccessRoleArnAssociation", &shield.DrtAccessRoleArnAssociationArgs{ +// RoleArn: testRole.Arn, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type DrtAccessRoleArnAssociation struct { + pulumi.CustomResourceState + + // The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + RoleArn pulumi.StringOutput `pulumi:"roleArn"` + Timeouts DrtAccessRoleArnAssociationTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewDrtAccessRoleArnAssociation registers a new resource with the given unique name, arguments, and options. +func NewDrtAccessRoleArnAssociation(ctx *pulumi.Context, + name string, args *DrtAccessRoleArnAssociationArgs, opts ...pulumi.ResourceOption) (*DrtAccessRoleArnAssociation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RoleArn == nil { + return nil, errors.New("invalid value for required argument 'RoleArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DrtAccessRoleArnAssociation + err := ctx.RegisterResource("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDrtAccessRoleArnAssociation gets an existing DrtAccessRoleArnAssociation 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 GetDrtAccessRoleArnAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DrtAccessRoleArnAssociationState, opts ...pulumi.ResourceOption) (*DrtAccessRoleArnAssociation, error) { + var resource DrtAccessRoleArnAssociation + err := ctx.ReadResource("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DrtAccessRoleArnAssociation resources. +type drtAccessRoleArnAssociationState struct { + // The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + RoleArn *string `pulumi:"roleArn"` + Timeouts *DrtAccessRoleArnAssociationTimeouts `pulumi:"timeouts"` +} + +type DrtAccessRoleArnAssociationState struct { + // The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + RoleArn pulumi.StringPtrInput + Timeouts DrtAccessRoleArnAssociationTimeoutsPtrInput +} + +func (DrtAccessRoleArnAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*drtAccessRoleArnAssociationState)(nil)).Elem() +} + +type drtAccessRoleArnAssociationArgs struct { + // The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + RoleArn string `pulumi:"roleArn"` + Timeouts *DrtAccessRoleArnAssociationTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a DrtAccessRoleArnAssociation resource. +type DrtAccessRoleArnAssociationArgs struct { + // The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + RoleArn pulumi.StringInput + Timeouts DrtAccessRoleArnAssociationTimeoutsPtrInput +} + +func (DrtAccessRoleArnAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*drtAccessRoleArnAssociationArgs)(nil)).Elem() +} + +type DrtAccessRoleArnAssociationInput interface { + pulumi.Input + + ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput + ToDrtAccessRoleArnAssociationOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationOutput +} + +func (*DrtAccessRoleArnAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessRoleArnAssociation)(nil)).Elem() +} + +func (i *DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput { + return i.ToDrtAccessRoleArnAssociationOutputWithContext(context.Background()) +} + +func (i *DrtAccessRoleArnAssociation) ToDrtAccessRoleArnAssociationOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessRoleArnAssociationOutput) +} + +func (i *DrtAccessRoleArnAssociation) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessRoleArnAssociation] { + return pulumix.Output[*DrtAccessRoleArnAssociation]{ + OutputState: i.ToDrtAccessRoleArnAssociationOutputWithContext(ctx).OutputState, + } +} + +// DrtAccessRoleArnAssociationArrayInput is an input type that accepts DrtAccessRoleArnAssociationArray and DrtAccessRoleArnAssociationArrayOutput values. +// You can construct a concrete instance of `DrtAccessRoleArnAssociationArrayInput` via: +// +// DrtAccessRoleArnAssociationArray{ DrtAccessRoleArnAssociationArgs{...} } +type DrtAccessRoleArnAssociationArrayInput interface { + pulumi.Input + + ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput + ToDrtAccessRoleArnAssociationArrayOutputWithContext(context.Context) DrtAccessRoleArnAssociationArrayOutput +} + +type DrtAccessRoleArnAssociationArray []DrtAccessRoleArnAssociationInput + +func (DrtAccessRoleArnAssociationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DrtAccessRoleArnAssociation)(nil)).Elem() +} + +func (i DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput { + return i.ToDrtAccessRoleArnAssociationArrayOutputWithContext(context.Background()) +} + +func (i DrtAccessRoleArnAssociationArray) ToDrtAccessRoleArnAssociationArrayOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessRoleArnAssociationArrayOutput) +} + +func (i DrtAccessRoleArnAssociationArray) ToOutput(ctx context.Context) pulumix.Output[[]*DrtAccessRoleArnAssociation] { + return pulumix.Output[[]*DrtAccessRoleArnAssociation]{ + OutputState: i.ToDrtAccessRoleArnAssociationArrayOutputWithContext(ctx).OutputState, + } +} + +// DrtAccessRoleArnAssociationMapInput is an input type that accepts DrtAccessRoleArnAssociationMap and DrtAccessRoleArnAssociationMapOutput values. +// You can construct a concrete instance of `DrtAccessRoleArnAssociationMapInput` via: +// +// DrtAccessRoleArnAssociationMap{ "key": DrtAccessRoleArnAssociationArgs{...} } +type DrtAccessRoleArnAssociationMapInput interface { + pulumi.Input + + ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput + ToDrtAccessRoleArnAssociationMapOutputWithContext(context.Context) DrtAccessRoleArnAssociationMapOutput +} + +type DrtAccessRoleArnAssociationMap map[string]DrtAccessRoleArnAssociationInput + +func (DrtAccessRoleArnAssociationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DrtAccessRoleArnAssociation)(nil)).Elem() +} + +func (i DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput { + return i.ToDrtAccessRoleArnAssociationMapOutputWithContext(context.Background()) +} + +func (i DrtAccessRoleArnAssociationMap) ToDrtAccessRoleArnAssociationMapOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessRoleArnAssociationMapOutput) +} + +func (i DrtAccessRoleArnAssociationMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*DrtAccessRoleArnAssociation] { + return pulumix.Output[map[string]*DrtAccessRoleArnAssociation]{ + OutputState: i.ToDrtAccessRoleArnAssociationMapOutputWithContext(ctx).OutputState, + } +} + +type DrtAccessRoleArnAssociationOutput struct{ *pulumi.OutputState } + +func (DrtAccessRoleArnAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessRoleArnAssociation)(nil)).Elem() +} + +func (o DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutput() DrtAccessRoleArnAssociationOutput { + return o +} + +func (o DrtAccessRoleArnAssociationOutput) ToDrtAccessRoleArnAssociationOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationOutput { + return o +} + +func (o DrtAccessRoleArnAssociationOutput) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessRoleArnAssociation] { + return pulumix.Output[*DrtAccessRoleArnAssociation]{ + OutputState: o.OutputState, + } +} + +// The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. +func (o DrtAccessRoleArnAssociationOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *DrtAccessRoleArnAssociation) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) +} + +func (o DrtAccessRoleArnAssociationOutput) Timeouts() DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return o.ApplyT(func(v *DrtAccessRoleArnAssociation) DrtAccessRoleArnAssociationTimeoutsPtrOutput { return v.Timeouts }).(DrtAccessRoleArnAssociationTimeoutsPtrOutput) +} + +type DrtAccessRoleArnAssociationArrayOutput struct{ *pulumi.OutputState } + +func (DrtAccessRoleArnAssociationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DrtAccessRoleArnAssociation)(nil)).Elem() +} + +func (o DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutput() DrtAccessRoleArnAssociationArrayOutput { + return o +} + +func (o DrtAccessRoleArnAssociationArrayOutput) ToDrtAccessRoleArnAssociationArrayOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationArrayOutput { + return o +} + +func (o DrtAccessRoleArnAssociationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*DrtAccessRoleArnAssociation] { + return pulumix.Output[[]*DrtAccessRoleArnAssociation]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessRoleArnAssociationArrayOutput) Index(i pulumi.IntInput) DrtAccessRoleArnAssociationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DrtAccessRoleArnAssociation { + return vs[0].([]*DrtAccessRoleArnAssociation)[vs[1].(int)] + }).(DrtAccessRoleArnAssociationOutput) +} + +type DrtAccessRoleArnAssociationMapOutput struct{ *pulumi.OutputState } + +func (DrtAccessRoleArnAssociationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DrtAccessRoleArnAssociation)(nil)).Elem() +} + +func (o DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutput() DrtAccessRoleArnAssociationMapOutput { + return o +} + +func (o DrtAccessRoleArnAssociationMapOutput) ToDrtAccessRoleArnAssociationMapOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationMapOutput { + return o +} + +func (o DrtAccessRoleArnAssociationMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*DrtAccessRoleArnAssociation] { + return pulumix.Output[map[string]*DrtAccessRoleArnAssociation]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessRoleArnAssociationMapOutput) MapIndex(k pulumi.StringInput) DrtAccessRoleArnAssociationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DrtAccessRoleArnAssociation { + return vs[0].(map[string]*DrtAccessRoleArnAssociation)[vs[1].(string)] + }).(DrtAccessRoleArnAssociationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessRoleArnAssociationInput)(nil)).Elem(), &DrtAccessRoleArnAssociation{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessRoleArnAssociationArrayInput)(nil)).Elem(), DrtAccessRoleArnAssociationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessRoleArnAssociationMapInput)(nil)).Elem(), DrtAccessRoleArnAssociationMap{}) + pulumi.RegisterOutputType(DrtAccessRoleArnAssociationOutput{}) + pulumi.RegisterOutputType(DrtAccessRoleArnAssociationArrayOutput{}) + pulumi.RegisterOutputType(DrtAccessRoleArnAssociationMapOutput{}) +} diff --git a/sdk/go/aws/shield/init.go b/sdk/go/aws/shield/init.go index 110322d4940..68df8ad6666 100644 --- a/sdk/go/aws/shield/init.go +++ b/sdk/go/aws/shield/init.go @@ -21,6 +21,10 @@ 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:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": + r = &DrtAccessLogBucketAssociation{} + case "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": + r = &DrtAccessRoleArnAssociation{} case "aws:shield/protection:Protection": r = &Protection{} case "aws:shield/protectionGroup:ProtectionGroup": @@ -40,6 +44,16 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "shield/drtAccessLogBucketAssociation", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "shield/drtAccessRoleArnAssociation", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "shield/protection", diff --git a/sdk/go/aws/shield/pulumiTypes.go b/sdk/go/aws/shield/pulumiTypes.go new file mode 100644 index 00000000000..78c715ca00a --- /dev/null +++ b/sdk/go/aws/shield/pulumiTypes.go @@ -0,0 +1,400 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package shield + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +var _ = internal.GetEnvOrDefault + +type DrtAccessLogBucketAssociationTimeouts struct { + Create *string `pulumi:"create"` + Delete *string `pulumi:"delete"` + Read *string `pulumi:"read"` +} + +// DrtAccessLogBucketAssociationTimeoutsInput is an input type that accepts DrtAccessLogBucketAssociationTimeoutsArgs and DrtAccessLogBucketAssociationTimeoutsOutput values. +// You can construct a concrete instance of `DrtAccessLogBucketAssociationTimeoutsInput` via: +// +// DrtAccessLogBucketAssociationTimeoutsArgs{...} +type DrtAccessLogBucketAssociationTimeoutsInput interface { + pulumi.Input + + ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput + ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(context.Context) DrtAccessLogBucketAssociationTimeoutsOutput +} + +type DrtAccessLogBucketAssociationTimeoutsArgs struct { + Create pulumi.StringPtrInput `pulumi:"create"` + Delete pulumi.StringPtrInput `pulumi:"delete"` + Read pulumi.StringPtrInput `pulumi:"read"` +} + +func (DrtAccessLogBucketAssociationTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DrtAccessLogBucketAssociationTimeouts)(nil)).Elem() +} + +func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput { + return i.ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(context.Background()) +} + +func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessLogBucketAssociationTimeoutsOutput) +} + +func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToOutput(ctx context.Context) pulumix.Output[DrtAccessLogBucketAssociationTimeouts] { + return pulumix.Output[DrtAccessLogBucketAssociationTimeouts]{ + OutputState: i.ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(ctx).OutputState, + } +} + +func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return i.ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i DrtAccessLogBucketAssociationTimeoutsArgs) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessLogBucketAssociationTimeoutsOutput).ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx) +} + +// DrtAccessLogBucketAssociationTimeoutsPtrInput is an input type that accepts DrtAccessLogBucketAssociationTimeoutsArgs, DrtAccessLogBucketAssociationTimeoutsPtr and DrtAccessLogBucketAssociationTimeoutsPtrOutput values. +// You can construct a concrete instance of `DrtAccessLogBucketAssociationTimeoutsPtrInput` via: +// +// DrtAccessLogBucketAssociationTimeoutsArgs{...} +// +// or: +// +// nil +type DrtAccessLogBucketAssociationTimeoutsPtrInput interface { + pulumi.Input + + ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput + ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput +} + +type drtAccessLogBucketAssociationTimeoutsPtrType DrtAccessLogBucketAssociationTimeoutsArgs + +func DrtAccessLogBucketAssociationTimeoutsPtr(v *DrtAccessLogBucketAssociationTimeoutsArgs) DrtAccessLogBucketAssociationTimeoutsPtrInput { + return (*drtAccessLogBucketAssociationTimeoutsPtrType)(v) +} + +func (*drtAccessLogBucketAssociationTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessLogBucketAssociationTimeouts)(nil)).Elem() +} + +func (i *drtAccessLogBucketAssociationTimeoutsPtrType) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return i.ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *drtAccessLogBucketAssociationTimeoutsPtrType) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessLogBucketAssociationTimeoutsPtrOutput) +} + +func (i *drtAccessLogBucketAssociationTimeoutsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessLogBucketAssociationTimeouts] { + return pulumix.Output[*DrtAccessLogBucketAssociationTimeouts]{ + OutputState: i.ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx).OutputState, + } +} + +type DrtAccessLogBucketAssociationTimeoutsOutput struct{ *pulumi.OutputState } + +func (DrtAccessLogBucketAssociationTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DrtAccessLogBucketAssociationTimeouts)(nil)).Elem() +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutput() DrtAccessLogBucketAssociationTimeoutsOutput { + return o +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsOutput { + return o +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return o.ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DrtAccessLogBucketAssociationTimeouts) *DrtAccessLogBucketAssociationTimeouts { + return &v + }).(DrtAccessLogBucketAssociationTimeoutsPtrOutput) +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) ToOutput(ctx context.Context) pulumix.Output[DrtAccessLogBucketAssociationTimeouts] { + return pulumix.Output[DrtAccessLogBucketAssociationTimeouts]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v DrtAccessLogBucketAssociationTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v DrtAccessLogBucketAssociationTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessLogBucketAssociationTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v DrtAccessLogBucketAssociationTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} + +type DrtAccessLogBucketAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (DrtAccessLogBucketAssociationTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessLogBucketAssociationTimeouts)(nil)).Elem() +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutput() DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return o +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToDrtAccessLogBucketAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessLogBucketAssociationTimeoutsPtrOutput { + return o +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessLogBucketAssociationTimeouts] { + return pulumix.Output[*DrtAccessLogBucketAssociationTimeouts]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) Elem() DrtAccessLogBucketAssociationTimeoutsOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociationTimeouts) DrtAccessLogBucketAssociationTimeouts { + if v != nil { + return *v + } + var ret DrtAccessLogBucketAssociationTimeouts + return ret + }).(DrtAccessLogBucketAssociationTimeoutsOutput) +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessLogBucketAssociationTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DrtAccessLogBucketAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} + +type DrtAccessRoleArnAssociationTimeouts struct { + Create *string `pulumi:"create"` + Delete *string `pulumi:"delete"` + Read *string `pulumi:"read"` +} + +// DrtAccessRoleArnAssociationTimeoutsInput is an input type that accepts DrtAccessRoleArnAssociationTimeoutsArgs and DrtAccessRoleArnAssociationTimeoutsOutput values. +// You can construct a concrete instance of `DrtAccessRoleArnAssociationTimeoutsInput` via: +// +// DrtAccessRoleArnAssociationTimeoutsArgs{...} +type DrtAccessRoleArnAssociationTimeoutsInput interface { + pulumi.Input + + ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput + ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(context.Context) DrtAccessRoleArnAssociationTimeoutsOutput +} + +type DrtAccessRoleArnAssociationTimeoutsArgs struct { + Create pulumi.StringPtrInput `pulumi:"create"` + Delete pulumi.StringPtrInput `pulumi:"delete"` + Read pulumi.StringPtrInput `pulumi:"read"` +} + +func (DrtAccessRoleArnAssociationTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DrtAccessRoleArnAssociationTimeouts)(nil)).Elem() +} + +func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput { + return i.ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(context.Background()) +} + +func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessRoleArnAssociationTimeoutsOutput) +} + +func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToOutput(ctx context.Context) pulumix.Output[DrtAccessRoleArnAssociationTimeouts] { + return pulumix.Output[DrtAccessRoleArnAssociationTimeouts]{ + OutputState: i.ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(ctx).OutputState, + } +} + +func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return i.ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i DrtAccessRoleArnAssociationTimeoutsArgs) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessRoleArnAssociationTimeoutsOutput).ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx) +} + +// DrtAccessRoleArnAssociationTimeoutsPtrInput is an input type that accepts DrtAccessRoleArnAssociationTimeoutsArgs, DrtAccessRoleArnAssociationTimeoutsPtr and DrtAccessRoleArnAssociationTimeoutsPtrOutput values. +// You can construct a concrete instance of `DrtAccessRoleArnAssociationTimeoutsPtrInput` via: +// +// DrtAccessRoleArnAssociationTimeoutsArgs{...} +// +// or: +// +// nil +type DrtAccessRoleArnAssociationTimeoutsPtrInput interface { + pulumi.Input + + ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput + ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput +} + +type drtAccessRoleArnAssociationTimeoutsPtrType DrtAccessRoleArnAssociationTimeoutsArgs + +func DrtAccessRoleArnAssociationTimeoutsPtr(v *DrtAccessRoleArnAssociationTimeoutsArgs) DrtAccessRoleArnAssociationTimeoutsPtrInput { + return (*drtAccessRoleArnAssociationTimeoutsPtrType)(v) +} + +func (*drtAccessRoleArnAssociationTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessRoleArnAssociationTimeouts)(nil)).Elem() +} + +func (i *drtAccessRoleArnAssociationTimeoutsPtrType) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return i.ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *drtAccessRoleArnAssociationTimeoutsPtrType) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DrtAccessRoleArnAssociationTimeoutsPtrOutput) +} + +func (i *drtAccessRoleArnAssociationTimeoutsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessRoleArnAssociationTimeouts] { + return pulumix.Output[*DrtAccessRoleArnAssociationTimeouts]{ + OutputState: i.ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx).OutputState, + } +} + +type DrtAccessRoleArnAssociationTimeoutsOutput struct{ *pulumi.OutputState } + +func (DrtAccessRoleArnAssociationTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DrtAccessRoleArnAssociationTimeouts)(nil)).Elem() +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutput() DrtAccessRoleArnAssociationTimeoutsOutput { + return o +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsOutput { + return o +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return o.ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DrtAccessRoleArnAssociationTimeouts) *DrtAccessRoleArnAssociationTimeouts { + return &v + }).(DrtAccessRoleArnAssociationTimeoutsPtrOutput) +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) ToOutput(ctx context.Context) pulumix.Output[DrtAccessRoleArnAssociationTimeouts] { + return pulumix.Output[DrtAccessRoleArnAssociationTimeouts]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v DrtAccessRoleArnAssociationTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v DrtAccessRoleArnAssociationTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessRoleArnAssociationTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v DrtAccessRoleArnAssociationTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} + +type DrtAccessRoleArnAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (DrtAccessRoleArnAssociationTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DrtAccessRoleArnAssociationTimeouts)(nil)).Elem() +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutput() DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return o +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToDrtAccessRoleArnAssociationTimeoutsPtrOutputWithContext(ctx context.Context) DrtAccessRoleArnAssociationTimeoutsPtrOutput { + return o +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DrtAccessRoleArnAssociationTimeouts] { + return pulumix.Output[*DrtAccessRoleArnAssociationTimeouts]{ + OutputState: o.OutputState, + } +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) Elem() DrtAccessRoleArnAssociationTimeoutsOutput { + return o.ApplyT(func(v *DrtAccessRoleArnAssociationTimeouts) DrtAccessRoleArnAssociationTimeouts { + if v != nil { + return *v + } + var ret DrtAccessRoleArnAssociationTimeouts + return ret + }).(DrtAccessRoleArnAssociationTimeoutsOutput) +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DrtAccessRoleArnAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DrtAccessRoleArnAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +func (o DrtAccessRoleArnAssociationTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DrtAccessRoleArnAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessLogBucketAssociationTimeoutsInput)(nil)).Elem(), DrtAccessLogBucketAssociationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessLogBucketAssociationTimeoutsPtrInput)(nil)).Elem(), DrtAccessLogBucketAssociationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessRoleArnAssociationTimeoutsInput)(nil)).Elem(), DrtAccessRoleArnAssociationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DrtAccessRoleArnAssociationTimeoutsPtrInput)(nil)).Elem(), DrtAccessRoleArnAssociationTimeoutsArgs{}) + pulumi.RegisterOutputType(DrtAccessLogBucketAssociationTimeoutsOutput{}) + pulumi.RegisterOutputType(DrtAccessLogBucketAssociationTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(DrtAccessRoleArnAssociationTimeoutsOutput{}) + pulumi.RegisterOutputType(DrtAccessRoleArnAssociationTimeoutsPtrOutput{}) +} diff --git a/sdk/go/aws/ssm/association.go b/sdk/go/aws/ssm/association.go index 9018bb8c47e..2f486c1157c 100644 --- a/sdk/go/aws/ssm/association.go +++ b/sdk/go/aws/ssm/association.go @@ -193,6 +193,8 @@ type Association struct { Parameters pulumi.StringMapOutput `pulumi:"parameters"` // A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. ScheduleExpression pulumi.StringPtrOutput `pulumi:"scheduleExpression"` + // The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + SyncCompliance pulumi.StringPtrOutput `pulumi:"syncCompliance"` // A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. Targets AssociationTargetArrayOutput `pulumi:"targets"` // The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -261,6 +263,8 @@ type associationState struct { Parameters map[string]string `pulumi:"parameters"` // A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. ScheduleExpression *string `pulumi:"scheduleExpression"` + // The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + SyncCompliance *string `pulumi:"syncCompliance"` // A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. Targets []AssociationTarget `pulumi:"targets"` // The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -300,6 +304,8 @@ type AssociationState struct { Parameters pulumi.StringMapInput // A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. ScheduleExpression pulumi.StringPtrInput + // The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + SyncCompliance pulumi.StringPtrInput // A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. Targets AssociationTargetArrayInput // The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -339,6 +345,8 @@ type associationArgs struct { Parameters map[string]string `pulumi:"parameters"` // A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. ScheduleExpression *string `pulumi:"scheduleExpression"` + // The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + SyncCompliance *string `pulumi:"syncCompliance"` // A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. Targets []AssociationTarget `pulumi:"targets"` // The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -375,6 +383,8 @@ type AssociationArgs struct { Parameters pulumi.StringMapInput // A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. ScheduleExpression pulumi.StringPtrInput + // The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + SyncCompliance pulumi.StringPtrInput // A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. Targets AssociationTargetArrayInput // The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -566,6 +576,11 @@ func (o AssociationOutput) ScheduleExpression() pulumi.StringPtrOutput { return o.ApplyT(func(v *Association) pulumi.StringPtrOutput { return v.ScheduleExpression }).(pulumi.StringPtrOutput) } +// The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. +func (o AssociationOutput) SyncCompliance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Association) pulumi.StringPtrOutput { return v.SyncCompliance }).(pulumi.StringPtrOutput) +} + // A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. func (o AssociationOutput) Targets() AssociationTargetArrayOutput { return o.ApplyT(func(v *Association) AssociationTargetArrayOutput { return v.Targets }).(AssociationTargetArrayOutput) diff --git a/sdk/go/aws/verifiedaccess/init.go b/sdk/go/aws/verifiedaccess/init.go new file mode 100644 index 00000000000..0f65ad77caa --- /dev/null +++ b/sdk/go/aws/verifiedaccess/init.go @@ -0,0 +1,44 @@ +// 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 verifiedaccess + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws:verifiedaccess/trustProvider:TrustProvider": + r = &TrustProvider{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "verifiedaccess/trustProvider", + &module{version}, + ) +} diff --git a/sdk/go/aws/verifiedaccess/pulumiTypes.go b/sdk/go/aws/verifiedaccess/pulumiTypes.go new file mode 100644 index 00000000000..97e4abfc5a9 --- /dev/null +++ b/sdk/go/aws/verifiedaccess/pulumiTypes.go @@ -0,0 +1,430 @@ +// 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 verifiedaccess + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +var _ = internal.GetEnvOrDefault + +type TrustProviderDeviceOptions struct { + TenantId *string `pulumi:"tenantId"` +} + +// TrustProviderDeviceOptionsInput is an input type that accepts TrustProviderDeviceOptionsArgs and TrustProviderDeviceOptionsOutput values. +// You can construct a concrete instance of `TrustProviderDeviceOptionsInput` via: +// +// TrustProviderDeviceOptionsArgs{...} +type TrustProviderDeviceOptionsInput interface { + pulumi.Input + + ToTrustProviderDeviceOptionsOutput() TrustProviderDeviceOptionsOutput + ToTrustProviderDeviceOptionsOutputWithContext(context.Context) TrustProviderDeviceOptionsOutput +} + +type TrustProviderDeviceOptionsArgs struct { + TenantId pulumi.StringPtrInput `pulumi:"tenantId"` +} + +func (TrustProviderDeviceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TrustProviderDeviceOptions)(nil)).Elem() +} + +func (i TrustProviderDeviceOptionsArgs) ToTrustProviderDeviceOptionsOutput() TrustProviderDeviceOptionsOutput { + return i.ToTrustProviderDeviceOptionsOutputWithContext(context.Background()) +} + +func (i TrustProviderDeviceOptionsArgs) ToTrustProviderDeviceOptionsOutputWithContext(ctx context.Context) TrustProviderDeviceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderDeviceOptionsOutput) +} + +func (i TrustProviderDeviceOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[TrustProviderDeviceOptions] { + return pulumix.Output[TrustProviderDeviceOptions]{ + OutputState: i.ToTrustProviderDeviceOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i TrustProviderDeviceOptionsArgs) ToTrustProviderDeviceOptionsPtrOutput() TrustProviderDeviceOptionsPtrOutput { + return i.ToTrustProviderDeviceOptionsPtrOutputWithContext(context.Background()) +} + +func (i TrustProviderDeviceOptionsArgs) ToTrustProviderDeviceOptionsPtrOutputWithContext(ctx context.Context) TrustProviderDeviceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderDeviceOptionsOutput).ToTrustProviderDeviceOptionsPtrOutputWithContext(ctx) +} + +// TrustProviderDeviceOptionsPtrInput is an input type that accepts TrustProviderDeviceOptionsArgs, TrustProviderDeviceOptionsPtr and TrustProviderDeviceOptionsPtrOutput values. +// You can construct a concrete instance of `TrustProviderDeviceOptionsPtrInput` via: +// +// TrustProviderDeviceOptionsArgs{...} +// +// or: +// +// nil +type TrustProviderDeviceOptionsPtrInput interface { + pulumi.Input + + ToTrustProviderDeviceOptionsPtrOutput() TrustProviderDeviceOptionsPtrOutput + ToTrustProviderDeviceOptionsPtrOutputWithContext(context.Context) TrustProviderDeviceOptionsPtrOutput +} + +type trustProviderDeviceOptionsPtrType TrustProviderDeviceOptionsArgs + +func TrustProviderDeviceOptionsPtr(v *TrustProviderDeviceOptionsArgs) TrustProviderDeviceOptionsPtrInput { + return (*trustProviderDeviceOptionsPtrType)(v) +} + +func (*trustProviderDeviceOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TrustProviderDeviceOptions)(nil)).Elem() +} + +func (i *trustProviderDeviceOptionsPtrType) ToTrustProviderDeviceOptionsPtrOutput() TrustProviderDeviceOptionsPtrOutput { + return i.ToTrustProviderDeviceOptionsPtrOutputWithContext(context.Background()) +} + +func (i *trustProviderDeviceOptionsPtrType) ToTrustProviderDeviceOptionsPtrOutputWithContext(ctx context.Context) TrustProviderDeviceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderDeviceOptionsPtrOutput) +} + +func (i *trustProviderDeviceOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*TrustProviderDeviceOptions] { + return pulumix.Output[*TrustProviderDeviceOptions]{ + OutputState: i.ToTrustProviderDeviceOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +type TrustProviderDeviceOptionsOutput struct{ *pulumi.OutputState } + +func (TrustProviderDeviceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TrustProviderDeviceOptions)(nil)).Elem() +} + +func (o TrustProviderDeviceOptionsOutput) ToTrustProviderDeviceOptionsOutput() TrustProviderDeviceOptionsOutput { + return o +} + +func (o TrustProviderDeviceOptionsOutput) ToTrustProviderDeviceOptionsOutputWithContext(ctx context.Context) TrustProviderDeviceOptionsOutput { + return o +} + +func (o TrustProviderDeviceOptionsOutput) ToTrustProviderDeviceOptionsPtrOutput() TrustProviderDeviceOptionsPtrOutput { + return o.ToTrustProviderDeviceOptionsPtrOutputWithContext(context.Background()) +} + +func (o TrustProviderDeviceOptionsOutput) ToTrustProviderDeviceOptionsPtrOutputWithContext(ctx context.Context) TrustProviderDeviceOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TrustProviderDeviceOptions) *TrustProviderDeviceOptions { + return &v + }).(TrustProviderDeviceOptionsPtrOutput) +} + +func (o TrustProviderDeviceOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[TrustProviderDeviceOptions] { + return pulumix.Output[TrustProviderDeviceOptions]{ + OutputState: o.OutputState, + } +} + +func (o TrustProviderDeviceOptionsOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderDeviceOptions) *string { return v.TenantId }).(pulumi.StringPtrOutput) +} + +type TrustProviderDeviceOptionsPtrOutput struct{ *pulumi.OutputState } + +func (TrustProviderDeviceOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TrustProviderDeviceOptions)(nil)).Elem() +} + +func (o TrustProviderDeviceOptionsPtrOutput) ToTrustProviderDeviceOptionsPtrOutput() TrustProviderDeviceOptionsPtrOutput { + return o +} + +func (o TrustProviderDeviceOptionsPtrOutput) ToTrustProviderDeviceOptionsPtrOutputWithContext(ctx context.Context) TrustProviderDeviceOptionsPtrOutput { + return o +} + +func (o TrustProviderDeviceOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*TrustProviderDeviceOptions] { + return pulumix.Output[*TrustProviderDeviceOptions]{ + OutputState: o.OutputState, + } +} + +func (o TrustProviderDeviceOptionsPtrOutput) Elem() TrustProviderDeviceOptionsOutput { + return o.ApplyT(func(v *TrustProviderDeviceOptions) TrustProviderDeviceOptions { + if v != nil { + return *v + } + var ret TrustProviderDeviceOptions + return ret + }).(TrustProviderDeviceOptionsOutput) +} + +func (o TrustProviderDeviceOptionsPtrOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderDeviceOptions) *string { + if v == nil { + return nil + } + return v.TenantId + }).(pulumi.StringPtrOutput) +} + +type TrustProviderOidcOptions struct { + AuthorizationEndpoint *string `pulumi:"authorizationEndpoint"` + ClientId *string `pulumi:"clientId"` + ClientSecret string `pulumi:"clientSecret"` + Issuer *string `pulumi:"issuer"` + Scope *string `pulumi:"scope"` + TokenEndpoint *string `pulumi:"tokenEndpoint"` + UserInfoEndpoint *string `pulumi:"userInfoEndpoint"` +} + +// TrustProviderOidcOptionsInput is an input type that accepts TrustProviderOidcOptionsArgs and TrustProviderOidcOptionsOutput values. +// You can construct a concrete instance of `TrustProviderOidcOptionsInput` via: +// +// TrustProviderOidcOptionsArgs{...} +type TrustProviderOidcOptionsInput interface { + pulumi.Input + + ToTrustProviderOidcOptionsOutput() TrustProviderOidcOptionsOutput + ToTrustProviderOidcOptionsOutputWithContext(context.Context) TrustProviderOidcOptionsOutput +} + +type TrustProviderOidcOptionsArgs struct { + AuthorizationEndpoint pulumi.StringPtrInput `pulumi:"authorizationEndpoint"` + ClientId pulumi.StringPtrInput `pulumi:"clientId"` + ClientSecret pulumi.StringInput `pulumi:"clientSecret"` + Issuer pulumi.StringPtrInput `pulumi:"issuer"` + Scope pulumi.StringPtrInput `pulumi:"scope"` + TokenEndpoint pulumi.StringPtrInput `pulumi:"tokenEndpoint"` + UserInfoEndpoint pulumi.StringPtrInput `pulumi:"userInfoEndpoint"` +} + +func (TrustProviderOidcOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TrustProviderOidcOptions)(nil)).Elem() +} + +func (i TrustProviderOidcOptionsArgs) ToTrustProviderOidcOptionsOutput() TrustProviderOidcOptionsOutput { + return i.ToTrustProviderOidcOptionsOutputWithContext(context.Background()) +} + +func (i TrustProviderOidcOptionsArgs) ToTrustProviderOidcOptionsOutputWithContext(ctx context.Context) TrustProviderOidcOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderOidcOptionsOutput) +} + +func (i TrustProviderOidcOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[TrustProviderOidcOptions] { + return pulumix.Output[TrustProviderOidcOptions]{ + OutputState: i.ToTrustProviderOidcOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i TrustProviderOidcOptionsArgs) ToTrustProviderOidcOptionsPtrOutput() TrustProviderOidcOptionsPtrOutput { + return i.ToTrustProviderOidcOptionsPtrOutputWithContext(context.Background()) +} + +func (i TrustProviderOidcOptionsArgs) ToTrustProviderOidcOptionsPtrOutputWithContext(ctx context.Context) TrustProviderOidcOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderOidcOptionsOutput).ToTrustProviderOidcOptionsPtrOutputWithContext(ctx) +} + +// TrustProviderOidcOptionsPtrInput is an input type that accepts TrustProviderOidcOptionsArgs, TrustProviderOidcOptionsPtr and TrustProviderOidcOptionsPtrOutput values. +// You can construct a concrete instance of `TrustProviderOidcOptionsPtrInput` via: +// +// TrustProviderOidcOptionsArgs{...} +// +// or: +// +// nil +type TrustProviderOidcOptionsPtrInput interface { + pulumi.Input + + ToTrustProviderOidcOptionsPtrOutput() TrustProviderOidcOptionsPtrOutput + ToTrustProviderOidcOptionsPtrOutputWithContext(context.Context) TrustProviderOidcOptionsPtrOutput +} + +type trustProviderOidcOptionsPtrType TrustProviderOidcOptionsArgs + +func TrustProviderOidcOptionsPtr(v *TrustProviderOidcOptionsArgs) TrustProviderOidcOptionsPtrInput { + return (*trustProviderOidcOptionsPtrType)(v) +} + +func (*trustProviderOidcOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TrustProviderOidcOptions)(nil)).Elem() +} + +func (i *trustProviderOidcOptionsPtrType) ToTrustProviderOidcOptionsPtrOutput() TrustProviderOidcOptionsPtrOutput { + return i.ToTrustProviderOidcOptionsPtrOutputWithContext(context.Background()) +} + +func (i *trustProviderOidcOptionsPtrType) ToTrustProviderOidcOptionsPtrOutputWithContext(ctx context.Context) TrustProviderOidcOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderOidcOptionsPtrOutput) +} + +func (i *trustProviderOidcOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*TrustProviderOidcOptions] { + return pulumix.Output[*TrustProviderOidcOptions]{ + OutputState: i.ToTrustProviderOidcOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +type TrustProviderOidcOptionsOutput struct{ *pulumi.OutputState } + +func (TrustProviderOidcOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TrustProviderOidcOptions)(nil)).Elem() +} + +func (o TrustProviderOidcOptionsOutput) ToTrustProviderOidcOptionsOutput() TrustProviderOidcOptionsOutput { + return o +} + +func (o TrustProviderOidcOptionsOutput) ToTrustProviderOidcOptionsOutputWithContext(ctx context.Context) TrustProviderOidcOptionsOutput { + return o +} + +func (o TrustProviderOidcOptionsOutput) ToTrustProviderOidcOptionsPtrOutput() TrustProviderOidcOptionsPtrOutput { + return o.ToTrustProviderOidcOptionsPtrOutputWithContext(context.Background()) +} + +func (o TrustProviderOidcOptionsOutput) ToTrustProviderOidcOptionsPtrOutputWithContext(ctx context.Context) TrustProviderOidcOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TrustProviderOidcOptions) *TrustProviderOidcOptions { + return &v + }).(TrustProviderOidcOptionsPtrOutput) +} + +func (o TrustProviderOidcOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[TrustProviderOidcOptions] { + return pulumix.Output[TrustProviderOidcOptions]{ + OutputState: o.OutputState, + } +} + +func (o TrustProviderOidcOptionsOutput) AuthorizationEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) *string { return v.AuthorizationEndpoint }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) *string { return v.ClientId }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) string { return v.ClientSecret }).(pulumi.StringOutput) +} + +func (o TrustProviderOidcOptionsOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) *string { return v.Issuer }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) *string { return v.Scope }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsOutput) TokenEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) *string { return v.TokenEndpoint }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsOutput) UserInfoEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v TrustProviderOidcOptions) *string { return v.UserInfoEndpoint }).(pulumi.StringPtrOutput) +} + +type TrustProviderOidcOptionsPtrOutput struct{ *pulumi.OutputState } + +func (TrustProviderOidcOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TrustProviderOidcOptions)(nil)).Elem() +} + +func (o TrustProviderOidcOptionsPtrOutput) ToTrustProviderOidcOptionsPtrOutput() TrustProviderOidcOptionsPtrOutput { + return o +} + +func (o TrustProviderOidcOptionsPtrOutput) ToTrustProviderOidcOptionsPtrOutputWithContext(ctx context.Context) TrustProviderOidcOptionsPtrOutput { + return o +} + +func (o TrustProviderOidcOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*TrustProviderOidcOptions] { + return pulumix.Output[*TrustProviderOidcOptions]{ + OutputState: o.OutputState, + } +} + +func (o TrustProviderOidcOptionsPtrOutput) Elem() TrustProviderOidcOptionsOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) TrustProviderOidcOptions { + if v != nil { + return *v + } + var ret TrustProviderOidcOptions + return ret + }).(TrustProviderOidcOptionsOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) AuthorizationEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return v.AuthorizationEndpoint + }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return v.ClientId + }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) ClientSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return &v.ClientSecret + }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return v.Issuer + }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return v.Scope + }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) TokenEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return v.TokenEndpoint + }).(pulumi.StringPtrOutput) +} + +func (o TrustProviderOidcOptionsPtrOutput) UserInfoEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProviderOidcOptions) *string { + if v == nil { + return nil + } + return v.UserInfoEndpoint + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderDeviceOptionsInput)(nil)).Elem(), TrustProviderDeviceOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderDeviceOptionsPtrInput)(nil)).Elem(), TrustProviderDeviceOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderOidcOptionsInput)(nil)).Elem(), TrustProviderOidcOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderOidcOptionsPtrInput)(nil)).Elem(), TrustProviderOidcOptionsArgs{}) + pulumi.RegisterOutputType(TrustProviderDeviceOptionsOutput{}) + pulumi.RegisterOutputType(TrustProviderDeviceOptionsPtrOutput{}) + pulumi.RegisterOutputType(TrustProviderOidcOptionsOutput{}) + pulumi.RegisterOutputType(TrustProviderOidcOptionsPtrOutput{}) +} diff --git a/sdk/go/aws/verifiedaccess/trustProvider.go b/sdk/go/aws/verifiedaccess/trustProvider.go new file mode 100644 index 00000000000..5af6ea6126a --- /dev/null +++ b/sdk/go/aws/verifiedaccess/trustProvider.go @@ -0,0 +1,421 @@ +// 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 verifiedaccess + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource for managing a Verified Access Trust Provider. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := verifiedaccess.NewTrustProvider(ctx, "example", &verifiedaccess.TrustProviderArgs{ +// PolicyReferenceName: pulumi.String("example"), +// TrustProviderType: pulumi.String("user"), +// UserTrustProviderType: pulumi.String("iam-identity-center"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import { +// +// to = aws_verifiedaccess_trust_provider.example +// +// id = "vatp-8012925589" } Using `TODO import`, import Transfer Workflows using the +// +// `id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 +type TrustProvider struct { + pulumi.CustomResourceState + + // A description for the AWS Verified Access trust provider. + Description pulumi.StringPtrOutput `pulumi:"description"` + // A block of options for device identity based trust providers. + DeviceOptions TrustProviderDeviceOptionsPtrOutput `pulumi:"deviceOptions"` + // The type of device-based trust provider. + DeviceTrustProviderType pulumi.StringPtrOutput `pulumi:"deviceTrustProviderType"` + // The OpenID Connect details for an oidc-type, user-identity based trust provider. + OidcOptions TrustProviderOidcOptionsPtrOutput `pulumi:"oidcOptions"` + // The identifier to be used when working with policy rules. + PolicyReferenceName pulumi.StringOutput `pulumi:"policyReferenceName"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // The type of trust provider can be either user or device-based. + // + // The following arguments are optional: + TrustProviderType pulumi.StringOutput `pulumi:"trustProviderType"` + // The type of user-based trust provider. + UserTrustProviderType pulumi.StringPtrOutput `pulumi:"userTrustProviderType"` +} + +// NewTrustProvider registers a new resource with the given unique name, arguments, and options. +func NewTrustProvider(ctx *pulumi.Context, + name string, args *TrustProviderArgs, opts ...pulumi.ResourceOption) (*TrustProvider, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PolicyReferenceName == nil { + return nil, errors.New("invalid value for required argument 'PolicyReferenceName'") + } + if args.TrustProviderType == nil { + return nil, errors.New("invalid value for required argument 'TrustProviderType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TrustProvider + err := ctx.RegisterResource("aws:verifiedaccess/trustProvider:TrustProvider", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTrustProvider gets an existing TrustProvider 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 GetTrustProvider(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TrustProviderState, opts ...pulumi.ResourceOption) (*TrustProvider, error) { + var resource TrustProvider + err := ctx.ReadResource("aws:verifiedaccess/trustProvider:TrustProvider", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TrustProvider resources. +type trustProviderState struct { + // A description for the AWS Verified Access trust provider. + Description *string `pulumi:"description"` + // A block of options for device identity based trust providers. + DeviceOptions *TrustProviderDeviceOptions `pulumi:"deviceOptions"` + // The type of device-based trust provider. + DeviceTrustProviderType *string `pulumi:"deviceTrustProviderType"` + // The OpenID Connect details for an oidc-type, user-identity based trust provider. + OidcOptions *TrustProviderOidcOptions `pulumi:"oidcOptions"` + // The identifier to be used when working with policy rules. + PolicyReferenceName *string `pulumi:"policyReferenceName"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` + // The type of trust provider can be either user or device-based. + // + // The following arguments are optional: + TrustProviderType *string `pulumi:"trustProviderType"` + // The type of user-based trust provider. + UserTrustProviderType *string `pulumi:"userTrustProviderType"` +} + +type TrustProviderState struct { + // A description for the AWS Verified Access trust provider. + Description pulumi.StringPtrInput + // A block of options for device identity based trust providers. + DeviceOptions TrustProviderDeviceOptionsPtrInput + // The type of device-based trust provider. + DeviceTrustProviderType pulumi.StringPtrInput + // The OpenID Connect details for an oidc-type, user-identity based trust provider. + OidcOptions TrustProviderOidcOptionsPtrInput + // The identifier to be used when working with policy rules. + PolicyReferenceName pulumi.StringPtrInput + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput + // The type of trust provider can be either user or device-based. + // + // The following arguments are optional: + TrustProviderType pulumi.StringPtrInput + // The type of user-based trust provider. + UserTrustProviderType pulumi.StringPtrInput +} + +func (TrustProviderState) ElementType() reflect.Type { + return reflect.TypeOf((*trustProviderState)(nil)).Elem() +} + +type trustProviderArgs struct { + // A description for the AWS Verified Access trust provider. + Description *string `pulumi:"description"` + // A block of options for device identity based trust providers. + DeviceOptions *TrustProviderDeviceOptions `pulumi:"deviceOptions"` + // The type of device-based trust provider. + DeviceTrustProviderType *string `pulumi:"deviceTrustProviderType"` + // The OpenID Connect details for an oidc-type, user-identity based trust provider. + OidcOptions *TrustProviderOidcOptions `pulumi:"oidcOptions"` + // The identifier to be used when working with policy rules. + PolicyReferenceName string `pulumi:"policyReferenceName"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // The type of trust provider can be either user or device-based. + // + // The following arguments are optional: + TrustProviderType string `pulumi:"trustProviderType"` + // The type of user-based trust provider. + UserTrustProviderType *string `pulumi:"userTrustProviderType"` +} + +// The set of arguments for constructing a TrustProvider resource. +type TrustProviderArgs struct { + // A description for the AWS Verified Access trust provider. + Description pulumi.StringPtrInput + // A block of options for device identity based trust providers. + DeviceOptions TrustProviderDeviceOptionsPtrInput + // The type of device-based trust provider. + DeviceTrustProviderType pulumi.StringPtrInput + // The OpenID Connect details for an oidc-type, user-identity based trust provider. + OidcOptions TrustProviderOidcOptionsPtrInput + // The identifier to be used when working with policy rules. + PolicyReferenceName pulumi.StringInput + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // The type of trust provider can be either user or device-based. + // + // The following arguments are optional: + TrustProviderType pulumi.StringInput + // The type of user-based trust provider. + UserTrustProviderType pulumi.StringPtrInput +} + +func (TrustProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*trustProviderArgs)(nil)).Elem() +} + +type TrustProviderInput interface { + pulumi.Input + + ToTrustProviderOutput() TrustProviderOutput + ToTrustProviderOutputWithContext(ctx context.Context) TrustProviderOutput +} + +func (*TrustProvider) ElementType() reflect.Type { + return reflect.TypeOf((**TrustProvider)(nil)).Elem() +} + +func (i *TrustProvider) ToTrustProviderOutput() TrustProviderOutput { + return i.ToTrustProviderOutputWithContext(context.Background()) +} + +func (i *TrustProvider) ToTrustProviderOutputWithContext(ctx context.Context) TrustProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderOutput) +} + +func (i *TrustProvider) ToOutput(ctx context.Context) pulumix.Output[*TrustProvider] { + return pulumix.Output[*TrustProvider]{ + OutputState: i.ToTrustProviderOutputWithContext(ctx).OutputState, + } +} + +// TrustProviderArrayInput is an input type that accepts TrustProviderArray and TrustProviderArrayOutput values. +// You can construct a concrete instance of `TrustProviderArrayInput` via: +// +// TrustProviderArray{ TrustProviderArgs{...} } +type TrustProviderArrayInput interface { + pulumi.Input + + ToTrustProviderArrayOutput() TrustProviderArrayOutput + ToTrustProviderArrayOutputWithContext(context.Context) TrustProviderArrayOutput +} + +type TrustProviderArray []TrustProviderInput + +func (TrustProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TrustProvider)(nil)).Elem() +} + +func (i TrustProviderArray) ToTrustProviderArrayOutput() TrustProviderArrayOutput { + return i.ToTrustProviderArrayOutputWithContext(context.Background()) +} + +func (i TrustProviderArray) ToTrustProviderArrayOutputWithContext(ctx context.Context) TrustProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderArrayOutput) +} + +func (i TrustProviderArray) ToOutput(ctx context.Context) pulumix.Output[[]*TrustProvider] { + return pulumix.Output[[]*TrustProvider]{ + OutputState: i.ToTrustProviderArrayOutputWithContext(ctx).OutputState, + } +} + +// TrustProviderMapInput is an input type that accepts TrustProviderMap and TrustProviderMapOutput values. +// You can construct a concrete instance of `TrustProviderMapInput` via: +// +// TrustProviderMap{ "key": TrustProviderArgs{...} } +type TrustProviderMapInput interface { + pulumi.Input + + ToTrustProviderMapOutput() TrustProviderMapOutput + ToTrustProviderMapOutputWithContext(context.Context) TrustProviderMapOutput +} + +type TrustProviderMap map[string]TrustProviderInput + +func (TrustProviderMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TrustProvider)(nil)).Elem() +} + +func (i TrustProviderMap) ToTrustProviderMapOutput() TrustProviderMapOutput { + return i.ToTrustProviderMapOutputWithContext(context.Background()) +} + +func (i TrustProviderMap) ToTrustProviderMapOutputWithContext(ctx context.Context) TrustProviderMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrustProviderMapOutput) +} + +func (i TrustProviderMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*TrustProvider] { + return pulumix.Output[map[string]*TrustProvider]{ + OutputState: i.ToTrustProviderMapOutputWithContext(ctx).OutputState, + } +} + +type TrustProviderOutput struct{ *pulumi.OutputState } + +func (TrustProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TrustProvider)(nil)).Elem() +} + +func (o TrustProviderOutput) ToTrustProviderOutput() TrustProviderOutput { + return o +} + +func (o TrustProviderOutput) ToTrustProviderOutputWithContext(ctx context.Context) TrustProviderOutput { + return o +} + +func (o TrustProviderOutput) ToOutput(ctx context.Context) pulumix.Output[*TrustProvider] { + return pulumix.Output[*TrustProvider]{ + OutputState: o.OutputState, + } +} + +// A description for the AWS Verified Access trust provider. +func (o TrustProviderOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// A block of options for device identity based trust providers. +func (o TrustProviderOutput) DeviceOptions() TrustProviderDeviceOptionsPtrOutput { + return o.ApplyT(func(v *TrustProvider) TrustProviderDeviceOptionsPtrOutput { return v.DeviceOptions }).(TrustProviderDeviceOptionsPtrOutput) +} + +// The type of device-based trust provider. +func (o TrustProviderOutput) DeviceTrustProviderType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringPtrOutput { return v.DeviceTrustProviderType }).(pulumi.StringPtrOutput) +} + +// The OpenID Connect details for an oidc-type, user-identity based trust provider. +func (o TrustProviderOutput) OidcOptions() TrustProviderOidcOptionsPtrOutput { + return o.ApplyT(func(v *TrustProvider) TrustProviderOidcOptionsPtrOutput { return v.OidcOptions }).(TrustProviderOidcOptionsPtrOutput) +} + +// The identifier to be used when working with policy rules. +func (o TrustProviderOutput) PolicyReferenceName() pulumi.StringOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringOutput { return v.PolicyReferenceName }).(pulumi.StringOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o TrustProviderOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o TrustProviderOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// The type of trust provider can be either user or device-based. +// +// The following arguments are optional: +func (o TrustProviderOutput) TrustProviderType() pulumi.StringOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringOutput { return v.TrustProviderType }).(pulumi.StringOutput) +} + +// The type of user-based trust provider. +func (o TrustProviderOutput) UserTrustProviderType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TrustProvider) pulumi.StringPtrOutput { return v.UserTrustProviderType }).(pulumi.StringPtrOutput) +} + +type TrustProviderArrayOutput struct{ *pulumi.OutputState } + +func (TrustProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TrustProvider)(nil)).Elem() +} + +func (o TrustProviderArrayOutput) ToTrustProviderArrayOutput() TrustProviderArrayOutput { + return o +} + +func (o TrustProviderArrayOutput) ToTrustProviderArrayOutputWithContext(ctx context.Context) TrustProviderArrayOutput { + return o +} + +func (o TrustProviderArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*TrustProvider] { + return pulumix.Output[[]*TrustProvider]{ + OutputState: o.OutputState, + } +} + +func (o TrustProviderArrayOutput) Index(i pulumi.IntInput) TrustProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TrustProvider { + return vs[0].([]*TrustProvider)[vs[1].(int)] + }).(TrustProviderOutput) +} + +type TrustProviderMapOutput struct{ *pulumi.OutputState } + +func (TrustProviderMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TrustProvider)(nil)).Elem() +} + +func (o TrustProviderMapOutput) ToTrustProviderMapOutput() TrustProviderMapOutput { + return o +} + +func (o TrustProviderMapOutput) ToTrustProviderMapOutputWithContext(ctx context.Context) TrustProviderMapOutput { + return o +} + +func (o TrustProviderMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*TrustProvider] { + return pulumix.Output[map[string]*TrustProvider]{ + OutputState: o.OutputState, + } +} + +func (o TrustProviderMapOutput) MapIndex(k pulumi.StringInput) TrustProviderOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TrustProvider { + return vs[0].(map[string]*TrustProvider)[vs[1].(string)] + }).(TrustProviderOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderInput)(nil)).Elem(), &TrustProvider{}) + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderArrayInput)(nil)).Elem(), TrustProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TrustProviderMapInput)(nil)).Elem(), TrustProviderMap{}) + pulumi.RegisterOutputType(TrustProviderOutput{}) + pulumi.RegisterOutputType(TrustProviderArrayOutput{}) + pulumi.RegisterOutputType(TrustProviderMapOutput{}) +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java index a8fd936c6c2..ea074e3c6ff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/AwsFunctions.java @@ -1749,7 +1749,7 @@ public static CompletableFuture getCallerIdentityPlain( /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage @@ -1821,7 +1821,7 @@ public static Output getDefaultTags() { /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage @@ -1893,7 +1893,7 @@ public static CompletableFuture getDefaultTagsPlain() { /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage @@ -1965,7 +1965,7 @@ public static Output getDefaultTags(GetDefaultTagsArgs arg /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage @@ -2037,7 +2037,7 @@ public static CompletableFuture getDefaultTagsPlain(GetDef /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage @@ -2109,7 +2109,7 @@ public static Output getDefaultTags(GetDefaultTagsArgs arg /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage diff --git a/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java b/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java index 4c09e97f9e0..bef37d1d7a3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java +++ b/sdk/java/src/main/java/com/pulumi/aws/acmpca/CertificateAuthority.java @@ -109,6 +109,7 @@ * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.aws.s3.BucketV2; + * import com.pulumi.aws.s3.BucketV2Args; * import com.pulumi.aws.iam.IamFunctions; * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; * import com.pulumi.aws.s3.BucketPolicy; @@ -133,7 +134,9 @@ * } * * public static void stack(Context ctx) { - * var exampleBucketV2 = new BucketV2("exampleBucketV2"); + * var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder() + * .forceDestroy(true) + * .build()); * * final var acmpcaBucketAccess = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() * .statements(GetPolicyDocumentStatementArgs.builder() @@ -171,6 +174,7 @@ * .enabled(true) * .expirationInDays(7) * .s3BucketName(exampleBucketV2.id()) + * .s3ObjectAcl("BUCKET_OWNER_FULL_CONTROL") * .build()) * .build()) * .build(), CustomResourceOptions.builder() diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java index 74c9cadd926..ed5dffcd4b0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Account.java @@ -103,6 +103,20 @@ */ @ResourceType(type="aws:apigateway/account:Account") public class Account extends com.pulumi.resources.CustomResource { + /** + * The version of the API keys used for the account. + * + */ + @Export(name="apiKeyVersion", refs={String.class}, tree="[0]") + private Output apiKeyVersion; + + /** + * @return The version of the API keys used for the account. + * + */ + public Output apiKeyVersion() { + return this.apiKeyVersion; + } /** * ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. * @@ -117,6 +131,20 @@ public class Account extends com.pulumi.resources.CustomResource { public Output> cloudwatchRoleArn() { return Codegen.optional(this.cloudwatchRoleArn); } + /** + * A list of features supported for the account. + * + */ + @Export(name="features", refs={List.class,String.class}, tree="[0,1]") + private Output> features; + + /** + * @return A list of features supported for the account. + * + */ + public Output> features() { + return this.features; + } /** * Account-Level throttle settings. See exported fields below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java index a6d6f517c4c..2fdb6905442 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKey.java @@ -43,7 +43,7 @@ * } * * public static void stack(Context ctx) { - * var myDemoApiKey = new ApiKey("myDemoApiKey"); + * var example = new ApiKey("example"); * * } * } @@ -51,11 +51,11 @@ * * ## Import * - * Using `pulumi import`, import API Gateway Keys using the `id`. For example: + * terraform import { * - * ```sh - * $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk - * ``` + * to = aws_api_gateway_api_key.example + * + * id = "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk * */ @ResourceType(type="aws:apigateway/apiKey:ApiKey") @@ -88,6 +88,20 @@ public Output arn() { public Output createdDate() { return this.createdDate; } + /** + * An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + @Export(name="customerId", refs={String.class}, tree="[0]") + private Output customerId; + + /** + * @return An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + public Output> customerId() { + return Codegen.optional(this.customerId); + } /** * API key description. Defaults to "Managed by Pulumi". * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKeyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKeyArgs.java index a68388648cb..2c5e00b63ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/ApiKeyArgs.java @@ -18,6 +18,21 @@ public final class ApiKeyArgs extends com.pulumi.resources.ResourceArgs { public static final ApiKeyArgs Empty = new ApiKeyArgs(); + /** + * An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + @Import(name="customerId") + private @Nullable Output customerId; + + /** + * @return An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + public Optional> customerId() { + return Optional.ofNullable(this.customerId); + } + /** * API key description. Defaults to "Managed by Pulumi". * @@ -96,6 +111,7 @@ public Optional> value() { private ApiKeyArgs() {} private ApiKeyArgs(ApiKeyArgs $) { + this.customerId = $.customerId; this.description = $.description; this.enabled = $.enabled; this.name = $.name; @@ -121,6 +137,27 @@ public Builder(ApiKeyArgs defaults) { $ = new ApiKeyArgs(Objects.requireNonNull(defaults)); } + /** + * @param customerId An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + * @return builder + * + */ + public Builder customerId(@Nullable Output customerId) { + $.customerId = customerId; + return this; + } + + /** + * @param customerId An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + * @return builder + * + */ + public Builder customerId(String customerId) { + return customerId(Output.of(customerId)); + } + /** * @param description API key description. Defaults to "Managed by Pulumi". * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java index 252aaf1a710..0e2cca259df 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/Response.java @@ -57,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED - * ``` + * to = aws_api_gateway_gateway_response.example + * + * id = "12345abcde/UNAUTHORIZED" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED * */ @ResourceType(type="aws:apigateway/response:Response") diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/AccountState.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/AccountState.java index 9d21d804d43..556e7ad385c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/AccountState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/AccountState.java @@ -17,6 +17,21 @@ public final class AccountState extends com.pulumi.resources.ResourceArgs { public static final AccountState Empty = new AccountState(); + /** + * The version of the API keys used for the account. + * + */ + @Import(name="apiKeyVersion") + private @Nullable Output apiKeyVersion; + + /** + * @return The version of the API keys used for the account. + * + */ + public Optional> apiKeyVersion() { + return Optional.ofNullable(this.apiKeyVersion); + } + /** * ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. * @@ -32,6 +47,21 @@ public Optional> cloudwatchRoleArn() { return Optional.ofNullable(this.cloudwatchRoleArn); } + /** + * A list of features supported for the account. + * + */ + @Import(name="features") + private @Nullable Output> features; + + /** + * @return A list of features supported for the account. + * + */ + public Optional>> features() { + return Optional.ofNullable(this.features); + } + /** * Account-Level throttle settings. See exported fields below. * @@ -50,7 +80,9 @@ public Optional>> throttleSettings() { private AccountState() {} private AccountState(AccountState $) { + this.apiKeyVersion = $.apiKeyVersion; this.cloudwatchRoleArn = $.cloudwatchRoleArn; + this.features = $.features; this.throttleSettings = $.throttleSettings; } @@ -72,6 +104,27 @@ public Builder(AccountState defaults) { $ = new AccountState(Objects.requireNonNull(defaults)); } + /** + * @param apiKeyVersion The version of the API keys used for the account. + * + * @return builder + * + */ + public Builder apiKeyVersion(@Nullable Output apiKeyVersion) { + $.apiKeyVersion = apiKeyVersion; + return this; + } + + /** + * @param apiKeyVersion The version of the API keys used for the account. + * + * @return builder + * + */ + public Builder apiKeyVersion(String apiKeyVersion) { + return apiKeyVersion(Output.of(apiKeyVersion)); + } + /** * @param cloudwatchRoleArn ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. * @@ -93,6 +146,37 @@ public Builder cloudwatchRoleArn(String cloudwatchRoleArn) { return cloudwatchRoleArn(Output.of(cloudwatchRoleArn)); } + /** + * @param features A list of features supported for the account. + * + * @return builder + * + */ + public Builder features(@Nullable Output> features) { + $.features = features; + return this; + } + + /** + * @param features A list of features supported for the account. + * + * @return builder + * + */ + public Builder features(List features) { + return features(Output.of(features)); + } + + /** + * @param features A list of features supported for the account. + * + * @return builder + * + */ + public Builder features(String... features) { + return features(List.of(features)); + } + /** * @param throttleSettings Account-Level throttle settings. See exported fields below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/ApiKeyState.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/ApiKeyState.java index fc674e806d5..494638c0ab3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/ApiKeyState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/inputs/ApiKeyState.java @@ -48,6 +48,21 @@ public Optional> createdDate() { return Optional.ofNullable(this.createdDate); } + /** + * An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + @Import(name="customerId") + private @Nullable Output customerId; + + /** + * @return An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + public Optional> customerId() { + return Optional.ofNullable(this.customerId); + } + /** * API key description. Defaults to "Managed by Pulumi". * @@ -158,6 +173,7 @@ private ApiKeyState() {} private ApiKeyState(ApiKeyState $) { this.arn = $.arn; this.createdDate = $.createdDate; + this.customerId = $.customerId; this.description = $.description; this.enabled = $.enabled; this.lastUpdatedDate = $.lastUpdatedDate; @@ -227,6 +243,27 @@ public Builder createdDate(String createdDate) { return createdDate(Output.of(createdDate)); } + /** + * @param customerId An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + * @return builder + * + */ + public Builder customerId(@Nullable Output customerId) { + $.customerId = customerId; + return this; + } + + /** + * @param customerId An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + * @return builder + * + */ + public Builder customerId(String customerId) { + return customerId(Output.of(customerId)); + } + /** * @param description API key description. Defaults to "Managed by Pulumi". * diff --git a/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetKeyResult.java b/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetKeyResult.java index 6af7dd970ae..e0b088c5cb7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetKeyResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/apigateway/outputs/GetKeyResult.java @@ -16,6 +16,11 @@ public final class GetKeyResult { * */ private String createdDate; + /** + * @return Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + private String customerId; /** * @return Description of the API Key. * @@ -60,6 +65,13 @@ private GetKeyResult() {} public String createdDate() { return this.createdDate; } + /** + * @return Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + * + */ + public String customerId() { + return this.customerId; + } /** * @return Description of the API Key. * @@ -120,6 +132,7 @@ public static Builder builder(GetKeyResult defaults) { @CustomType.Builder public static final class Builder { private String createdDate; + private String customerId; private String description; private Boolean enabled; private String id; @@ -131,6 +144,7 @@ public Builder() {} public Builder(GetKeyResult defaults) { Objects.requireNonNull(defaults); this.createdDate = defaults.createdDate; + this.customerId = defaults.customerId; this.description = defaults.description; this.enabled = defaults.enabled; this.id = defaults.id; @@ -146,6 +160,11 @@ public Builder createdDate(String createdDate) { return this; } @CustomType.Setter + public Builder customerId(String customerId) { + this.customerId = Objects.requireNonNull(customerId); + return this; + } + @CustomType.Setter public Builder description(String description) { this.description = Objects.requireNonNull(description); return this; @@ -183,6 +202,7 @@ public Builder value(String value) { public GetKeyResult build() { final var o = new GetKeyResult(); o.createdDate = createdDate; + o.customerId = customerId; o.description = description; o.enabled = enabled; o.id = id; diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/GroupInstanceRefreshPreferencesArgs.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/GroupInstanceRefreshPreferencesArgs.java index 85ecd8aa28e..e7b923c030c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/GroupInstanceRefreshPreferencesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/inputs/GroupInstanceRefreshPreferencesArgs.java @@ -93,6 +93,21 @@ public Optional> minHealthyPercentage() { return Optional.ofNullable(this.minHealthyPercentage); } + /** + * Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + @Import(name="scaleInProtectedInstances") + private @Nullable Output scaleInProtectedInstances; + + /** + * @return Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + public Optional> scaleInProtectedInstances() { + return Optional.ofNullable(this.scaleInProtectedInstances); + } + /** * Replace instances that already have your desired configuration. Defaults to `false`. * @@ -108,6 +123,21 @@ public Optional> skipMatching() { return Optional.ofNullable(this.skipMatching); } + /** + * Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + @Import(name="standbyInstances") + private @Nullable Output standbyInstances; + + /** + * @return Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + public Optional> standbyInstances() { + return Optional.ofNullable(this.standbyInstances); + } + private GroupInstanceRefreshPreferencesArgs() {} private GroupInstanceRefreshPreferencesArgs(GroupInstanceRefreshPreferencesArgs $) { @@ -116,7 +146,9 @@ private GroupInstanceRefreshPreferencesArgs(GroupInstanceRefreshPreferencesArgs this.checkpointPercentages = $.checkpointPercentages; this.instanceWarmup = $.instanceWarmup; this.minHealthyPercentage = $.minHealthyPercentage; + this.scaleInProtectedInstances = $.scaleInProtectedInstances; this.skipMatching = $.skipMatching; + this.standbyInstances = $.standbyInstances; } public static Builder builder() { @@ -252,6 +284,27 @@ public Builder minHealthyPercentage(Integer minHealthyPercentage) { return minHealthyPercentage(Output.of(minHealthyPercentage)); } + /** + * @param scaleInProtectedInstances Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + * + * @return builder + * + */ + public Builder scaleInProtectedInstances(@Nullable Output scaleInProtectedInstances) { + $.scaleInProtectedInstances = scaleInProtectedInstances; + return this; + } + + /** + * @param scaleInProtectedInstances Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + * + * @return builder + * + */ + public Builder scaleInProtectedInstances(String scaleInProtectedInstances) { + return scaleInProtectedInstances(Output.of(scaleInProtectedInstances)); + } + /** * @param skipMatching Replace instances that already have your desired configuration. Defaults to `false`. * @@ -273,6 +326,27 @@ public Builder skipMatching(Boolean skipMatching) { return skipMatching(Output.of(skipMatching)); } + /** + * @param standbyInstances Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + * + * @return builder + * + */ + public Builder standbyInstances(@Nullable Output standbyInstances) { + $.standbyInstances = standbyInstances; + return this; + } + + /** + * @param standbyInstances Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + * + * @return builder + * + */ + public Builder standbyInstances(String standbyInstances) { + return standbyInstances(Output.of(standbyInstances)); + } + public GroupInstanceRefreshPreferencesArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/outputs/GroupInstanceRefreshPreferences.java b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/outputs/GroupInstanceRefreshPreferences.java index 7ea25ba7225..0e92036cdf3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/autoscaling/outputs/GroupInstanceRefreshPreferences.java +++ b/sdk/java/src/main/java/com/pulumi/aws/autoscaling/outputs/GroupInstanceRefreshPreferences.java @@ -39,11 +39,21 @@ public final class GroupInstanceRefreshPreferences { * */ private @Nullable Integer minHealthyPercentage; + /** + * @return Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + private @Nullable String scaleInProtectedInstances; /** * @return Replace instances that already have your desired configuration. Defaults to `false`. * */ private @Nullable Boolean skipMatching; + /** + * @return Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + private @Nullable String standbyInstances; private GroupInstanceRefreshPreferences() {} /** @@ -81,6 +91,13 @@ public Optional instanceWarmup() { public Optional minHealthyPercentage() { return Optional.ofNullable(this.minHealthyPercentage); } + /** + * @return Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + public Optional scaleInProtectedInstances() { + return Optional.ofNullable(this.scaleInProtectedInstances); + } /** * @return Replace instances that already have your desired configuration. Defaults to `false`. * @@ -88,6 +105,13 @@ public Optional minHealthyPercentage() { public Optional skipMatching() { return Optional.ofNullable(this.skipMatching); } + /** + * @return Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + * + */ + public Optional standbyInstances() { + return Optional.ofNullable(this.standbyInstances); + } public static Builder builder() { return new Builder(); @@ -103,7 +127,9 @@ public static final class Builder { private @Nullable List checkpointPercentages; private @Nullable String instanceWarmup; private @Nullable Integer minHealthyPercentage; + private @Nullable String scaleInProtectedInstances; private @Nullable Boolean skipMatching; + private @Nullable String standbyInstances; public Builder() {} public Builder(GroupInstanceRefreshPreferences defaults) { Objects.requireNonNull(defaults); @@ -112,7 +138,9 @@ public Builder(GroupInstanceRefreshPreferences defaults) { this.checkpointPercentages = defaults.checkpointPercentages; this.instanceWarmup = defaults.instanceWarmup; this.minHealthyPercentage = defaults.minHealthyPercentage; + this.scaleInProtectedInstances = defaults.scaleInProtectedInstances; this.skipMatching = defaults.skipMatching; + this.standbyInstances = defaults.standbyInstances; } @CustomType.Setter @@ -144,10 +172,20 @@ public Builder minHealthyPercentage(@Nullable Integer minHealthyPercentage) { return this; } @CustomType.Setter + public Builder scaleInProtectedInstances(@Nullable String scaleInProtectedInstances) { + this.scaleInProtectedInstances = scaleInProtectedInstances; + return this; + } + @CustomType.Setter public Builder skipMatching(@Nullable Boolean skipMatching) { this.skipMatching = skipMatching; return this; } + @CustomType.Setter + public Builder standbyInstances(@Nullable String standbyInstances) { + this.standbyInstances = standbyInstances; + return this; + } public GroupInstanceRefreshPreferences build() { final var o = new GroupInstanceRefreshPreferences(); o.autoRollback = autoRollback; @@ -155,7 +193,9 @@ public GroupInstanceRefreshPreferences build() { o.checkpointPercentages = checkpointPercentages; o.instanceWarmup = instanceWarmup; o.minHealthyPercentage = minHealthyPercentage; + o.scaleInProtectedInstances = scaleInProtectedInstances; o.skipMatching = skipMatching; + o.standbyInstances = standbyInstances; return o; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java index 7c91cd2dce6..023c88527c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorization.java @@ -51,11 +51,11 @@ * * ## Import * - * Using `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1 - * ``` + * to = aws_config_aggregate_authorization.example + * + * id = "123456789012:us-east-1" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 * */ @ResourceType(type="aws:cfg/aggregateAuthorization:AggregateAuthorization") @@ -103,14 +103,14 @@ public Output region() { return this.region; } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorizationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorizationArgs.java index 3a2b77614e9..e785ca4234e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorizationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/AggregateAuthorizationArgs.java @@ -47,14 +47,14 @@ public Output region() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -130,7 +130,7 @@ public Builder region(String region) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -141,7 +141,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/AggregateAuthorizationState.java b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/AggregateAuthorizationState.java index 740f7dd9d31..eee5301abc2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/AggregateAuthorizationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cfg/inputs/AggregateAuthorizationState.java @@ -62,14 +62,14 @@ public Optional> region() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -183,7 +183,7 @@ public Builder region(String region) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -194,7 +194,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java b/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java index 4685f1e14ca..82fba09ae78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloud9/EnvironmentMembership.java @@ -59,11 +59,11 @@ * * ## Import * - * Using `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn - * ``` + * to = aws_cloud9_environment_membership.test + * + * id = "environment-id#user-arn" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn * */ @ResourceType(type="aws:cloud9/environmentMembership:EnvironmentMembership") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java index 6f8625e96b4..5726d03eb9e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java @@ -128,7 +128,7 @@ * Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example: * * ```sh - * $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN + * $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java index 11ea75e0b37..7098e3ad2ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSetInstance.java @@ -160,6 +160,8 @@ * * Import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example: * + * Import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example: + * * Using `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example: * * ```sh diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java index f227f01d09e..8d42fb49716 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Pipeline.java @@ -188,11 +188,11 @@ * * ## Import * - * Using `pulumi import`, import CodePipelines using the name. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codepipeline/pipeline:Pipeline foo example - * ``` + * to = aws_codepipeline.foo + * + * id = "example" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example * */ @ResourceType(type="aws:codepipeline/pipeline:Pipeline") @@ -268,14 +268,14 @@ public Output> stages() { return this.stages; } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/PipelineArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/PipelineArgs.java index 5caa6ea09de..29271e94dee 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/PipelineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/PipelineArgs.java @@ -80,14 +80,14 @@ public Output> stages() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -227,7 +227,7 @@ public Builder stages(PipelineStageArgs... stages) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -238,7 +238,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java index 2187927b098..a2cfa75b11a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/Webhook.java @@ -126,11 +126,11 @@ * * ## Import * - * Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example - * ``` + * to = aws_codepipeline_webhook.example + * + * id = "arn:aws:codepipeline:us-west-2:123456789012:webhook:example" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example * */ @ResourceType(type="aws:codepipeline/webhook:Webhook") @@ -206,14 +206,14 @@ public Output name() { return this.name; } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/WebhookArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/WebhookArgs.java index de12337364b..d979e2b9c20 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/WebhookArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/WebhookArgs.java @@ -80,14 +80,14 @@ public Optional> name() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -249,7 +249,7 @@ public Builder name(String name) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -260,7 +260,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineState.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineState.java index f121a3e6a08..7c23f60b108 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/PipelineState.java @@ -95,14 +95,14 @@ public Optional>> stages() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -280,7 +280,7 @@ public Builder stages(PipelineStageArgs... stages) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -291,7 +291,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/WebhookState.java b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/WebhookState.java index dcaccbd091c..ca210dfb010 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/WebhookState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codepipeline/inputs/WebhookState.java @@ -95,14 +95,14 @@ public Optional> name() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -318,7 +318,7 @@ public Builder name(String name) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -329,7 +329,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java index fe45f9e7c36..52ab87dfdf0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Connection.java @@ -86,11 +86,11 @@ * * ## Import * - * Using `pulumi import`, import CodeStar connections using the ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 - * ``` + * to = aws_codestarconnections_connection.test-connection + * + * id = "arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 * */ @ResourceType(type="aws:codestarconnections/connection:Connection") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java index 09458a35f3b..3540d4f6638 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarconnections/Host.java @@ -53,11 +53,11 @@ * * ## Import * - * Using `pulumi import`, import CodeStar Host using the ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 - * ``` + * to = aws_codestarconnections_host.example-host + * + * id = "arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 * */ @ResourceType(type="aws:codestarconnections/host:Host") diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java index 1fd744dd66d..8b33e48f58b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRule.java @@ -87,11 +87,11 @@ * * ## Import * - * Using `pulumi import`, import CodeStar notification rule using the ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b - * ``` + * to = aws_codestarnotifications_notification_rule.foo + * + * id = "arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b * */ @ResourceType(type="aws:codestarnotifications/notificationRule:NotificationRule") @@ -183,14 +183,14 @@ public Output> status() { return Codegen.optional(this.status); } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRuleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRuleArgs.java index d5da3a58b5c..14746ba9a89 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/NotificationRuleArgs.java @@ -96,14 +96,14 @@ public Optional> status() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -274,7 +274,7 @@ public Builder status(String status) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -285,7 +285,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/inputs/NotificationRuleState.java b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/inputs/NotificationRuleState.java index 8f3c1ff2a49..a1c2b65d851 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/inputs/NotificationRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codestarnotifications/inputs/NotificationRuleState.java @@ -111,14 +111,14 @@ public Optional> status() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -327,7 +327,7 @@ public Builder status(String status) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -338,7 +338,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java index dcc4ea0fd90..8bb9309cbf8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/CognitoFunctions.java @@ -4,6 +4,8 @@ package com.pulumi.aws.cognito; import com.pulumi.aws.Utilities; +import com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs; +import com.pulumi.aws.cognito.inputs.GetIdentityPoolPlainArgs; import com.pulumi.aws.cognito.inputs.GetUserPoolClientArgs; import com.pulumi.aws.cognito.inputs.GetUserPoolClientPlainArgs; import com.pulumi.aws.cognito.inputs.GetUserPoolClientsArgs; @@ -12,6 +14,7 @@ import com.pulumi.aws.cognito.inputs.GetUserPoolSigningCertificatePlainArgs; import com.pulumi.aws.cognito.inputs.GetUserPoolsArgs; import com.pulumi.aws.cognito.inputs.GetUserPoolsPlainArgs; +import com.pulumi.aws.cognito.outputs.GetIdentityPoolResult; import com.pulumi.aws.cognito.outputs.GetUserPoolClientResult; import com.pulumi.aws.cognito.outputs.GetUserPoolClientsResult; import com.pulumi.aws.cognito.outputs.GetUserPoolSigningCertificateResult; @@ -23,6 +26,158 @@ import java.util.concurrent.CompletableFuture; public final class CognitoFunctions { + /** + * Data source for managing an AWS Cognito Identity Pool. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.cognito.CognitoFunctions; + * import com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs; + * 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 = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .identityPoolName("test pool") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getIdentityPool(GetIdentityPoolArgs args) { + return getIdentityPool(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Cognito Identity Pool. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.cognito.CognitoFunctions; + * import com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs; + * 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 = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .identityPoolName("test pool") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityPoolPlain(GetIdentityPoolPlainArgs args) { + return getIdentityPoolPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS Cognito Identity Pool. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.cognito.CognitoFunctions; + * import com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs; + * 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 = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .identityPoolName("test pool") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getIdentityPool(GetIdentityPoolArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:cognito/getIdentityPool:getIdentityPool", TypeShape.of(GetIdentityPoolResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS Cognito Identity Pool. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.cognito.CognitoFunctions; + * import com.pulumi.aws.cognito.inputs.GetIdentityPoolArgs; + * 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 = CognitoFunctions.getIdentityPool(GetIdentityPoolArgs.builder() + * .identityPoolName("test pool") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getIdentityPoolPlain(GetIdentityPoolPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:cognito/getIdentityPool:getIdentityPool", TypeShape.of(GetIdentityPoolResult.class), args, Utilities.withVersion(options)); + } /** * Provides a Cognito User Pool Client resource. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java index 0e58e2858d0..ba49466e608 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPool.java @@ -79,11 +79,11 @@ * * ## Import * - * Using `pulumi import`, import Cognito Identity Pool using its ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 - * ``` + * to = aws_cognito_identity_pool.mypool + * + * id = "us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 * */ @ResourceType(type="aws:cognito/identityPool:IdentityPool") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolProviderPrincipalTag.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolProviderPrincipalTag.java index ee39f95fc75..9348ea3cdae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolProviderPrincipalTag.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolProviderPrincipalTag.java @@ -21,11 +21,11 @@ * * ## Import * - * Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD - * ``` + * to = aws_cognito_identity_pool_provider_principal_tag.example + * + * id = "us-west-2_abc123:CorpAD" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD * */ @ResourceType(type="aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolRoleAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolRoleAttachment.java index 3fd56d36c53..a038169a1aa 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolRoleAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/IdentityPoolRoleAttachment.java @@ -22,11 +22,11 @@ * * ## Import * - * Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 - * ``` + * to = aws_cognito_identity_pool_roles_attachment.example + * + * id = "us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 * */ @ResourceType(type="aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment") diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java index f31b40f6b32..dba3a745d33 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPool.java @@ -143,11 +143,11 @@ * * ## Import * - * Using `pulumi import`, import Cognito User Pools using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 - * ``` + * to = aws_cognito_user_pool.pool + * + * id = "us-west-2_abc123" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 * */ @ResourceType(type="aws:cognito/userPool:UserPool") @@ -465,14 +465,14 @@ public Output> smsAuthenticationMessage() { return Codegen.optional(this.smsAuthenticationMessage); } /** - * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * */ @Export(name="smsConfiguration", refs={UserPoolSmsConfiguration.class}, tree="[0]") private Output smsConfiguration; /** - * @return Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @return Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * */ public Output smsConfiguration() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java index b4014c2033a..c7565d05198 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/UserPoolArgs.java @@ -260,14 +260,14 @@ public Optional> smsAuthenticationMessage() { } /** - * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * */ @Import(name="smsConfiguration") private @Nullable Output smsConfiguration; /** - * @return Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @return Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * */ public Optional> smsConfiguration() { @@ -791,7 +791,7 @@ public Builder smsAuthenticationMessage(String smsAuthenticationMessage) { } /** - * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * * @return builder * @@ -802,7 +802,7 @@ public Builder smsConfiguration(@Nullable Output s } /** - * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/GetIdentityPoolArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/GetIdentityPoolArgs.java new file mode 100644 index 00000000000..961355c5867 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/GetIdentityPoolArgs.java @@ -0,0 +1,122 @@ +// *** 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.cognito.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 GetIdentityPoolArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityPoolArgs Empty = new GetIdentityPoolArgs(); + + /** + * The Cognito Identity Pool name. + * + */ + @Import(name="identityPoolName", required=true) + private Output identityPoolName; + + /** + * @return The Cognito Identity Pool name. + * + */ + public Output identityPoolName() { + return this.identityPoolName; + } + + /** + * A map of tags to assigned to the Identity Pool. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assigned to the Identity Pool. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private GetIdentityPoolArgs() {} + + private GetIdentityPoolArgs(GetIdentityPoolArgs $) { + this.identityPoolName = $.identityPoolName; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityPoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityPoolArgs $; + + public Builder() { + $ = new GetIdentityPoolArgs(); + } + + public Builder(GetIdentityPoolArgs defaults) { + $ = new GetIdentityPoolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identityPoolName The Cognito Identity Pool name. + * + * @return builder + * + */ + public Builder identityPoolName(Output identityPoolName) { + $.identityPoolName = identityPoolName; + return this; + } + + /** + * @param identityPoolName The Cognito Identity Pool name. + * + * @return builder + * + */ + public Builder identityPoolName(String identityPoolName) { + return identityPoolName(Output.of(identityPoolName)); + } + + /** + * @param tags A map of tags to assigned to the Identity Pool. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assigned to the Identity Pool. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public GetIdentityPoolArgs build() { + $.identityPoolName = Objects.requireNonNull($.identityPoolName, "expected parameter 'identityPoolName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/GetIdentityPoolPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/GetIdentityPoolPlainArgs.java new file mode 100644 index 00000000000..96e283bfc89 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/GetIdentityPoolPlainArgs.java @@ -0,0 +1,101 @@ +// *** 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.cognito.inputs; + +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 GetIdentityPoolPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetIdentityPoolPlainArgs Empty = new GetIdentityPoolPlainArgs(); + + /** + * The Cognito Identity Pool name. + * + */ + @Import(name="identityPoolName", required=true) + private String identityPoolName; + + /** + * @return The Cognito Identity Pool name. + * + */ + public String identityPoolName() { + return this.identityPoolName; + } + + /** + * A map of tags to assigned to the Identity Pool. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return A map of tags to assigned to the Identity Pool. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private GetIdentityPoolPlainArgs() {} + + private GetIdentityPoolPlainArgs(GetIdentityPoolPlainArgs $) { + this.identityPoolName = $.identityPoolName; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetIdentityPoolPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetIdentityPoolPlainArgs $; + + public Builder() { + $ = new GetIdentityPoolPlainArgs(); + } + + public Builder(GetIdentityPoolPlainArgs defaults) { + $ = new GetIdentityPoolPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identityPoolName The Cognito Identity Pool name. + * + * @return builder + * + */ + public Builder identityPoolName(String identityPoolName) { + $.identityPoolName = identityPoolName; + return this; + } + + /** + * @param tags A map of tags to assigned to the Identity Pool. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + public GetIdentityPoolPlainArgs build() { + $.identityPoolName = Objects.requireNonNull($.identityPoolName, "expected parameter 'identityPoolName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java index 50fb1c7c138..31d79cc05bd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/inputs/UserPoolState.java @@ -366,14 +366,14 @@ public Optional> smsAuthenticationMessage() { } /** - * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * */ @Import(name="smsConfiguration") private @Nullable Output smsConfiguration; /** - * @return Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @return Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * */ public Optional> smsConfiguration() { @@ -1067,7 +1067,7 @@ public Builder smsAuthenticationMessage(String smsAuthenticationMessage) { } /** - * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * * @return builder * @@ -1078,7 +1078,7 @@ public Builder smsConfiguration(@Nullable Output s } /** - * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * @param smsConfiguration Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/GetIdentityPoolCognitoIdentityProvider.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/GetIdentityPoolCognitoIdentityProvider.java new file mode 100644 index 00000000000..e9c2c6919c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/GetIdentityPoolCognitoIdentityProvider.java @@ -0,0 +1,71 @@ +// *** 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.cognito.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetIdentityPoolCognitoIdentityProvider { + private String clientId; + private String providerName; + private Boolean serverSideTokenCheck; + + private GetIdentityPoolCognitoIdentityProvider() {} + public String clientId() { + return this.clientId; + } + public String providerName() { + return this.providerName; + } + public Boolean serverSideTokenCheck() { + return this.serverSideTokenCheck; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIdentityPoolCognitoIdentityProvider defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String clientId; + private String providerName; + private Boolean serverSideTokenCheck; + public Builder() {} + public Builder(GetIdentityPoolCognitoIdentityProvider defaults) { + Objects.requireNonNull(defaults); + this.clientId = defaults.clientId; + this.providerName = defaults.providerName; + this.serverSideTokenCheck = defaults.serverSideTokenCheck; + } + + @CustomType.Setter + public Builder clientId(String clientId) { + this.clientId = Objects.requireNonNull(clientId); + return this; + } + @CustomType.Setter + public Builder providerName(String providerName) { + this.providerName = Objects.requireNonNull(providerName); + return this; + } + @CustomType.Setter + public Builder serverSideTokenCheck(Boolean serverSideTokenCheck) { + this.serverSideTokenCheck = Objects.requireNonNull(serverSideTokenCheck); + return this; + } + public GetIdentityPoolCognitoIdentityProvider build() { + final var o = new GetIdentityPoolCognitoIdentityProvider(); + o.clientId = clientId; + o.providerName = providerName; + o.serverSideTokenCheck = serverSideTokenCheck; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/GetIdentityPoolResult.java b/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/GetIdentityPoolResult.java new file mode 100644 index 00000000000..00a29a3a7d1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/cognito/outputs/GetIdentityPoolResult.java @@ -0,0 +1,259 @@ +// *** 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.cognito.outputs; + +import com.pulumi.aws.cognito.outputs.GetIdentityPoolCognitoIdentityProvider; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetIdentityPoolResult { + /** + * @return Whether the classic / basic authentication flow is enabled. + * + */ + private Boolean allowClassicFlow; + /** + * @return Whether the identity pool supports unauthenticated logins or not. + * + */ + private Boolean allowUnauthenticatedIdentities; + /** + * @return ARN of the Pool. + * + */ + private String arn; + /** + * @return An array of Amazon Cognito Identity user pools and their client IDs. + * + */ + private List cognitoIdentityProviders; + /** + * @return The "domain" by which Cognito will refer to your users. + * + */ + private String developerProviderName; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private String identityPoolName; + /** + * @return Set of OpendID Connect provider ARNs. + * + */ + private List openidConnectProviderArns; + /** + * @return An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. + * + */ + private List samlProviderArns; + /** + * @return Key-Value pairs mapping provider names to provider app IDs. + * + */ + private Map supportedLoginProviders; + /** + * @return A map of tags to assigned to the Identity Pool. + * + */ + private Map tags; + + private GetIdentityPoolResult() {} + /** + * @return Whether the classic / basic authentication flow is enabled. + * + */ + public Boolean allowClassicFlow() { + return this.allowClassicFlow; + } + /** + * @return Whether the identity pool supports unauthenticated logins or not. + * + */ + public Boolean allowUnauthenticatedIdentities() { + return this.allowUnauthenticatedIdentities; + } + /** + * @return ARN of the Pool. + * + */ + public String arn() { + return this.arn; + } + /** + * @return An array of Amazon Cognito Identity user pools and their client IDs. + * + */ + public List cognitoIdentityProviders() { + return this.cognitoIdentityProviders; + } + /** + * @return The "domain" by which Cognito will refer to your users. + * + */ + public String developerProviderName() { + return this.developerProviderName; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public String identityPoolName() { + return this.identityPoolName; + } + /** + * @return Set of OpendID Connect provider ARNs. + * + */ + public List openidConnectProviderArns() { + return this.openidConnectProviderArns; + } + /** + * @return An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. + * + */ + public List samlProviderArns() { + return this.samlProviderArns; + } + /** + * @return Key-Value pairs mapping provider names to provider app IDs. + * + */ + public Map supportedLoginProviders() { + return this.supportedLoginProviders; + } + /** + * @return A map of tags to assigned to the Identity Pool. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIdentityPoolResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean allowClassicFlow; + private Boolean allowUnauthenticatedIdentities; + private String arn; + private List cognitoIdentityProviders; + private String developerProviderName; + private String id; + private String identityPoolName; + private List openidConnectProviderArns; + private List samlProviderArns; + private Map supportedLoginProviders; + private Map tags; + public Builder() {} + public Builder(GetIdentityPoolResult defaults) { + Objects.requireNonNull(defaults); + this.allowClassicFlow = defaults.allowClassicFlow; + this.allowUnauthenticatedIdentities = defaults.allowUnauthenticatedIdentities; + this.arn = defaults.arn; + this.cognitoIdentityProviders = defaults.cognitoIdentityProviders; + this.developerProviderName = defaults.developerProviderName; + this.id = defaults.id; + this.identityPoolName = defaults.identityPoolName; + this.openidConnectProviderArns = defaults.openidConnectProviderArns; + this.samlProviderArns = defaults.samlProviderArns; + this.supportedLoginProviders = defaults.supportedLoginProviders; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder allowClassicFlow(Boolean allowClassicFlow) { + this.allowClassicFlow = Objects.requireNonNull(allowClassicFlow); + return this; + } + @CustomType.Setter + public Builder allowUnauthenticatedIdentities(Boolean allowUnauthenticatedIdentities) { + this.allowUnauthenticatedIdentities = Objects.requireNonNull(allowUnauthenticatedIdentities); + return this; + } + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder cognitoIdentityProviders(List cognitoIdentityProviders) { + this.cognitoIdentityProviders = Objects.requireNonNull(cognitoIdentityProviders); + return this; + } + public Builder cognitoIdentityProviders(GetIdentityPoolCognitoIdentityProvider... cognitoIdentityProviders) { + return cognitoIdentityProviders(List.of(cognitoIdentityProviders)); + } + @CustomType.Setter + public Builder developerProviderName(String developerProviderName) { + this.developerProviderName = Objects.requireNonNull(developerProviderName); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder identityPoolName(String identityPoolName) { + this.identityPoolName = Objects.requireNonNull(identityPoolName); + return this; + } + @CustomType.Setter + public Builder openidConnectProviderArns(List openidConnectProviderArns) { + this.openidConnectProviderArns = Objects.requireNonNull(openidConnectProviderArns); + return this; + } + public Builder openidConnectProviderArns(String... openidConnectProviderArns) { + return openidConnectProviderArns(List.of(openidConnectProviderArns)); + } + @CustomType.Setter + public Builder samlProviderArns(List samlProviderArns) { + this.samlProviderArns = Objects.requireNonNull(samlProviderArns); + return this; + } + public Builder samlProviderArns(String... samlProviderArns) { + return samlProviderArns(List.of(samlProviderArns)); + } + @CustomType.Setter + public Builder supportedLoginProviders(Map supportedLoginProviders) { + this.supportedLoginProviders = Objects.requireNonNull(supportedLoginProviders); + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetIdentityPoolResult build() { + final var o = new GetIdentityPoolResult(); + o.allowClassicFlow = allowClassicFlow; + o.allowUnauthenticatedIdentities = allowUnauthenticatedIdentities; + o.arn = arn; + o.cognitoIdentityProviders = cognitoIdentityProviders; + o.developerProviderName = developerProviderName; + o.id = id; + o.identityPoolName = identityPoolName; + o.openidConnectProviderArns = openidConnectProviderArns; + o.samlProviderArns = samlProviderArns; + o.supportedLoginProviders = supportedLoginProviders; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java index c1f15ab5f82..47e7fa86c90 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/BotAssociation.java @@ -136,11 +136,11 @@ * * ## Import * - * Using `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import { * - * ```sh - * $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 - * ``` + * to = aws_connect_bot_association.example + * + * id = "aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 * */ @ResourceType(type="aws:connect/botAssociation:BotAssociation") diff --git a/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java index f981105330b..1874ef478c3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/connect/LambdaFunctionAssociation.java @@ -50,11 +50,11 @@ * * ## Import * - * Using `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import { * - * ```sh - * $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example - * ``` + * to = aws_connect_lambda_function_association.example + * + * id = "aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example * */ @ResourceType(type="aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation") diff --git a/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java b/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java index 7adea0b4874..734911a5632 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicy.java @@ -281,11 +281,11 @@ * * ## Import * - * Using `pulumi import`, import DLM lifecycle policies using their policy ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901 - * ``` + * to = aws_dlm_lifecycle_policy.example + * + * id = "policy-abcdef12345678901" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 * */ @ResourceType(type="aws:dlm/lifecyclePolicy:LifecyclePolicy") @@ -361,14 +361,14 @@ public Output> state() { return Codegen.optional(this.state); } /** - * 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. + * 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. + * @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() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicyArgs.java index 748d907eac2..86152c23f04 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dlm/LifecyclePolicyArgs.java @@ -78,14 +78,14 @@ public Optional> state() { } /** - * 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. + * 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. + * @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() { @@ -205,7 +205,7 @@ public Builder state(String state) { } /** - * @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. + * @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 * @@ -216,7 +216,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyPolicyDetailsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyPolicyDetailsArgs.java index 67a64189920..4b599a74165 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyPolicyDetailsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyPolicyDetailsArgs.java @@ -129,7 +129,7 @@ public Optional>> schedule /** * A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. * */ @Import(name="targetTags") @@ -138,7 +138,7 @@ public Optional>> schedule /** * @return A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. * */ public Optional>> targetTags() { @@ -346,7 +346,7 @@ public Builder schedules(LifecyclePolicyPolicyDetailsScheduleArgs... schedules) /** * @param targetTags A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. * * @return builder * @@ -359,7 +359,7 @@ public Builder targetTags(@Nullable Output> targetTags) { /** * @param targetTags A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyState.java b/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyState.java index 6395dcf4201..d7849b83b83 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dlm/inputs/LifecyclePolicyState.java @@ -93,14 +93,14 @@ public Optional> state() { } /** - * 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. + * 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. + * @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() { @@ -258,7 +258,7 @@ public Builder state(String state) { } /** - * @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. + * @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 * @@ -269,7 +269,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/dlm/outputs/LifecyclePolicyPolicyDetails.java b/sdk/java/src/main/java/com/pulumi/aws/dlm/outputs/LifecyclePolicyPolicyDetails.java index cae8370d9bb..733ce80fdd5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/dlm/outputs/LifecyclePolicyPolicyDetails.java +++ b/sdk/java/src/main/java/com/pulumi/aws/dlm/outputs/LifecyclePolicyPolicyDetails.java @@ -55,7 +55,7 @@ public final class LifecyclePolicyPolicyDetails { /** * @return A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. * */ private @Nullable Map targetTags; @@ -113,7 +113,7 @@ public List schedules() { /** * @return A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. * */ public Map targetTags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java index 01faec87c25..ac9ff6ce4af 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/NetworkInterface.java @@ -77,11 +77,11 @@ * * ## Import * - * Using `pulumi import`, import Network Interfaces using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3 - * ``` + * to = aws_network_interface.test + * + * id = "eni-e5aa89a3" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 * */ @ResourceType(type="aws:ec2/networkInterface:NetworkInterface") 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 b7754a8c70a..bffc173cab6 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 @@ -701,6 +701,20 @@ public Output>> tags() { public Output> tagsAll() { return this.tagsAll; } + /** + * Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + */ + @Export(name="transitEncryptionEnabled", refs={Boolean.class}, tree="[0]") + private Output transitEncryptionEnabled; + + /** + * @return Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + */ + public Output> transitEncryptionEnabled() { + return Codegen.optional(this.transitEncryptionEnabled); + } /** * 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 0bfe994cbe8..358af9a21b8 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 @@ -466,6 +466,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + */ + @Import(name="transitEncryptionEnabled") + private @Nullable Output transitEncryptionEnabled; + + /** + * @return Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + */ + public Optional> transitEncryptionEnabled() { + return Optional.ofNullable(this.transitEncryptionEnabled); + } + private ClusterArgs() {} private ClusterArgs(ClusterArgs $) { @@ -497,6 +512,7 @@ private ClusterArgs(ClusterArgs $) { this.snapshotWindow = $.snapshotWindow; this.subnetGroupName = $.subnetGroupName; this.tags = $.tags; + this.transitEncryptionEnabled = $.transitEncryptionEnabled; } public static Builder builder() { @@ -1161,6 +1177,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param transitEncryptionEnabled Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + * @return builder + * + */ + public Builder transitEncryptionEnabled(@Nullable Output transitEncryptionEnabled) { + $.transitEncryptionEnabled = transitEncryptionEnabled; + return this; + } + + /** + * @param transitEncryptionEnabled Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + * @return builder + * + */ + public Builder transitEncryptionEnabled(Boolean transitEncryptionEnabled) { + return transitEncryptionEnabled(Output.of(transitEncryptionEnabled)); + } + public ClusterArgs build() { 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 adcfbfe350d..48713c57968 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 @@ -557,6 +557,21 @@ public Optional>> tagsAll() { return Optional.ofNullable(this.tagsAll); } + /** + * Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + */ + @Import(name="transitEncryptionEnabled") + private @Nullable Output transitEncryptionEnabled; + + /** + * @return Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + */ + public Optional> transitEncryptionEnabled() { + return Optional.ofNullable(this.transitEncryptionEnabled); + } + private ClusterState() {} private ClusterState(ClusterState $) { @@ -594,6 +609,7 @@ private ClusterState(ClusterState $) { this.subnetGroupName = $.subnetGroupName; this.tags = $.tags; this.tagsAll = $.tagsAll; + this.transitEncryptionEnabled = $.transitEncryptionEnabled; } public static Builder builder() { @@ -1394,6 +1410,27 @@ public Builder tagsAll(Map tagsAll) { return tagsAll(Output.of(tagsAll)); } + /** + * @param transitEncryptionEnabled Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + * @return builder + * + */ + public Builder transitEncryptionEnabled(@Nullable Output transitEncryptionEnabled) { + $.transitEncryptionEnabled = transitEncryptionEnabled; + return this; + } + + /** + * @param transitEncryptionEnabled Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + * + * @return builder + * + */ + public Builder transitEncryptionEnabled(Boolean transitEncryptionEnabled) { + return transitEncryptionEnabled(Output.of(transitEncryptionEnabled)); + } + public ClusterState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java index 8a8a1336670..b59693445b0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/JobTemplate.java @@ -63,11 +63,11 @@ * * ## Import * - * Using `pulumi import`, import EKS job templates using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l - * ``` + * to = aws_emrcontainers_job_template.example + * + * id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l * */ @ResourceType(type="aws:emrcontainers/jobTemplate:JobTemplate") diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java index f2886a0f898..1b5d9fde83b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualCluster.java @@ -63,11 +63,11 @@ * * ## Import * - * Using `pulumi import`, import EKS Clusters using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l - * ``` + * to = aws_emrcontainers_virtual_cluster.example + * + * id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l * */ @ResourceType(type="aws:emrcontainers/virtualCluster:VirtualCluster") @@ -115,14 +115,14 @@ public Output name() { return this.name; } /** - * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualClusterArgs.java index 8494a066db6..efb2c13d8f8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/VirtualClusterArgs.java @@ -48,14 +48,14 @@ public Optional> name() { } /** - * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -131,7 +131,7 @@ public Builder name(String name) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -142,7 +142,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterState.java index 586cc7becd9..57aa19faad3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrcontainers/inputs/VirtualClusterState.java @@ -63,14 +63,14 @@ public Optional> name() { } /** - * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -184,7 +184,7 @@ public Builder name(String name) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -195,7 +195,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java index 4e86d0c8b16..87fe4260aec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/Application.java @@ -137,11 +137,11 @@ * * ## Import * - * Using `pulumi import`, import EMR Severless applications using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:emrserverless/application:Application example id - * ``` + * to = aws_emrserverless_application.example + * + * id = "id" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id * */ @ResourceType(type="aws:emrserverless/application:Application") @@ -287,14 +287,14 @@ public Output releaseLabel() { return this.releaseLabel; } /** - * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/ApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/ApplicationArgs.java index f4248d345b0..f3c11eff11c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/ApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/ApplicationArgs.java @@ -159,14 +159,14 @@ public Output releaseLabel() { } /** - * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -422,7 +422,7 @@ public Builder releaseLabel(String releaseLabel) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -433,7 +433,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/inputs/ApplicationState.java b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/inputs/ApplicationState.java index 20d71091488..4cfacbb7337 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/emrserverless/inputs/ApplicationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/emrserverless/inputs/ApplicationState.java @@ -174,14 +174,14 @@ public Optional> releaseLabel() { } /** - * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -475,7 +475,7 @@ public Builder releaseLabel(String releaseLabel) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -486,7 +486,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java index 3f93794e5ae..ac67fd7fcbd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystem.java @@ -7,6 +7,7 @@ import com.pulumi.aws.fsx.WindowsFileSystemArgs; import com.pulumi.aws.fsx.inputs.WindowsFileSystemState; import com.pulumi.aws.fsx.outputs.WindowsFileSystemAuditLogConfiguration; +import com.pulumi.aws.fsx.outputs.WindowsFileSystemDiskIopsConfiguration; import com.pulumi.aws.fsx.outputs.WindowsFileSystemSelfManagedActiveDirectory; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -160,14 +161,14 @@ public Output arn() { return this.arn; } /** - * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * */ @Export(name="auditLogConfiguration", refs={WindowsFileSystemAuditLogConfiguration.class}, tree="[0]") private Output auditLogConfiguration; /** - * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * */ public Output auditLogConfiguration() { @@ -243,6 +244,20 @@ public Output dailyAutomaticBackupStartTime() { public Output> deploymentType() { return Codegen.optional(this.deploymentType); } + /** + * The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + */ + @Export(name="diskIopsConfiguration", refs={WindowsFileSystemDiskIopsConfiguration.class}, tree="[0]") + private Output diskIopsConfiguration; + + /** + * @return The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + */ + public Output diskIopsConfiguration() { + return this.diskIopsConfiguration; + } /** * DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) * @@ -356,14 +371,14 @@ public Output>> securityGroupIds() { return Codegen.optional(this.securityGroupIds); } /** - * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * */ @Export(name="selfManagedActiveDirectory", refs={WindowsFileSystemSelfManagedActiveDirectory.class}, tree="[0]") private Output selfManagedActiveDirectory; /** - * @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * */ public Output> selfManagedActiveDirectory() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystemArgs.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystemArgs.java index 950911f51cd..cc573bccfdc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystemArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/WindowsFileSystemArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.fsx; import com.pulumi.aws.fsx.inputs.WindowsFileSystemAuditLogConfigurationArgs; +import com.pulumi.aws.fsx.inputs.WindowsFileSystemDiskIopsConfigurationArgs; import com.pulumi.aws.fsx.inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -52,14 +53,14 @@ public Optional>> aliases() { } /** - * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * */ @Import(name="auditLogConfiguration") private @Nullable Output auditLogConfiguration; /** - * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * */ public Optional> auditLogConfiguration() { @@ -141,6 +142,21 @@ public Optional> deploymentType() { return Optional.ofNullable(this.deploymentType); } + /** + * The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + */ + @Import(name="diskIopsConfiguration") + private @Nullable Output diskIopsConfiguration; + + /** + * @return The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + */ + public Optional> diskIopsConfiguration() { + return Optional.ofNullable(this.diskIopsConfiguration); + } + /** * ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. * @@ -187,14 +203,14 @@ public Optional>> securityGroupIds() { } /** - * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * */ @Import(name="selfManagedActiveDirectory") private @Nullable Output selfManagedActiveDirectory; /** - * @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * */ public Optional> selfManagedActiveDirectory() { @@ -321,6 +337,7 @@ private WindowsFileSystemArgs(WindowsFileSystemArgs $) { this.copyTagsToBackups = $.copyTagsToBackups; this.dailyAutomaticBackupStartTime = $.dailyAutomaticBackupStartTime; this.deploymentType = $.deploymentType; + this.diskIopsConfiguration = $.diskIopsConfiguration; this.kmsKeyId = $.kmsKeyId; this.preferredSubnetId = $.preferredSubnetId; this.securityGroupIds = $.securityGroupIds; @@ -405,7 +422,7 @@ public Builder aliases(String... aliases) { } /** - * @param auditLogConfiguration The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * @param auditLogConfiguration The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * * @return builder * @@ -416,7 +433,7 @@ public Builder auditLogConfiguration(@Nullable Output diskIopsConfiguration) { + $.diskIopsConfiguration = diskIopsConfiguration; + return this; + } + + /** + * @param diskIopsConfiguration The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + * @return builder + * + */ + public Builder diskIopsConfiguration(WindowsFileSystemDiskIopsConfigurationArgs diskIopsConfiguration) { + return diskIopsConfiguration(Output.of(diskIopsConfiguration)); + } + /** * @param kmsKeyId ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. * @@ -604,7 +642,7 @@ public Builder securityGroupIds(String... securityGroupIds) { } /** - * @param selfManagedActiveDirectory Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * @param selfManagedActiveDirectory Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * * @return builder * @@ -615,7 +653,7 @@ public Builder selfManagedActiveDirectory(@Nullable Output iops; + + /** + * @return The total number of SSD IOPS provisioned for the file system. + * + */ + public Optional> iops() { + return Optional.ofNullable(this.iops); + } + + /** + * Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + * + */ + @Import(name="mode") + private @Nullable Output mode; + + /** + * @return Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + * + */ + public Optional> mode() { + return Optional.ofNullable(this.mode); + } + + private WindowsFileSystemDiskIopsConfigurationArgs() {} + + private WindowsFileSystemDiskIopsConfigurationArgs(WindowsFileSystemDiskIopsConfigurationArgs $) { + this.iops = $.iops; + this.mode = $.mode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WindowsFileSystemDiskIopsConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WindowsFileSystemDiskIopsConfigurationArgs $; + + public Builder() { + $ = new WindowsFileSystemDiskIopsConfigurationArgs(); + } + + public Builder(WindowsFileSystemDiskIopsConfigurationArgs defaults) { + $ = new WindowsFileSystemDiskIopsConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param iops The total number of SSD IOPS provisioned for the file system. + * + * @return builder + * + */ + public Builder iops(@Nullable Output iops) { + $.iops = iops; + return this; + } + + /** + * @param iops The total number of SSD IOPS provisioned for the file system. + * + * @return builder + * + */ + public Builder iops(Integer iops) { + return iops(Output.of(iops)); + } + + /** + * @param mode Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + * + * @return builder + * + */ + public Builder mode(@Nullable Output mode) { + $.mode = mode; + return this; + } + + /** + * @param mode Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + * + * @return builder + * + */ + public Builder mode(String mode) { + return mode(Output.of(mode)); + } + + public WindowsFileSystemDiskIopsConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/WindowsFileSystemState.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/WindowsFileSystemState.java index 3d4ec6311fc..8140ce192bb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/WindowsFileSystemState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/inputs/WindowsFileSystemState.java @@ -4,6 +4,7 @@ package com.pulumi.aws.fsx.inputs; import com.pulumi.aws.fsx.inputs.WindowsFileSystemAuditLogConfigurationArgs; +import com.pulumi.aws.fsx.inputs.WindowsFileSystemDiskIopsConfigurationArgs; import com.pulumi.aws.fsx.inputs.WindowsFileSystemSelfManagedActiveDirectoryArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -67,14 +68,14 @@ public Optional> arn() { } /** - * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * */ @Import(name="auditLogConfiguration") private @Nullable Output auditLogConfiguration; /** - * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * */ public Optional> auditLogConfiguration() { @@ -156,6 +157,21 @@ public Optional> deploymentType() { return Optional.ofNullable(this.deploymentType); } + /** + * The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + */ + @Import(name="diskIopsConfiguration") + private @Nullable Output diskIopsConfiguration; + + /** + * @return The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + */ + public Optional> diskIopsConfiguration() { + return Optional.ofNullable(this.diskIopsConfiguration); + } + /** * DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) * @@ -277,14 +293,14 @@ public Optional>> securityGroupIds() { } /** - * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * */ @Import(name="selfManagedActiveDirectory") private @Nullable Output selfManagedActiveDirectory; /** - * @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * @return Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * */ public Optional> selfManagedActiveDirectory() { @@ -442,6 +458,7 @@ private WindowsFileSystemState(WindowsFileSystemState $) { this.copyTagsToBackups = $.copyTagsToBackups; this.dailyAutomaticBackupStartTime = $.dailyAutomaticBackupStartTime; this.deploymentType = $.deploymentType; + this.diskIopsConfiguration = $.diskIopsConfiguration; this.dnsName = $.dnsName; this.kmsKeyId = $.kmsKeyId; this.networkInterfaceIds = $.networkInterfaceIds; @@ -554,7 +571,7 @@ public Builder arn(String arn) { } /** - * @param auditLogConfiguration The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * @param auditLogConfiguration The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. * * @return builder * @@ -565,7 +582,7 @@ public Builder auditLogConfiguration(@Nullable Output diskIopsConfiguration) { + $.diskIopsConfiguration = diskIopsConfiguration; + return this; + } + + /** + * @param diskIopsConfiguration The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + * + * @return builder + * + */ + public Builder diskIopsConfiguration(WindowsFileSystemDiskIopsConfigurationArgs diskIopsConfiguration) { + return diskIopsConfiguration(Output.of(diskIopsConfiguration)); + } + /** * @param dnsName DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) * @@ -868,7 +906,7 @@ public Builder securityGroupIds(String... securityGroupIds) { } /** - * @param selfManagedActiveDirectory Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + * @param selfManagedActiveDirectory Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. * * @return builder * @@ -879,7 +917,7 @@ public Builder selfManagedActiveDirectory(@Nullable Output diskIopsConfigurations; /** * @return DNS name for the file system (e.g. `fs-12345678.corp.example.com`). * @@ -184,6 +190,13 @@ public String dailyAutomaticBackupStartTime() { public String deploymentType() { return this.deploymentType; } + /** + * @return The SSD IOPS configuration for the file system. + * + */ + public List diskIopsConfigurations() { + return this.diskIopsConfigurations; + } /** * @return DNS name for the file system (e.g. `fs-12345678.corp.example.com`). * @@ -303,6 +316,7 @@ public static final class Builder { private Boolean copyTagsToBackups; private String dailyAutomaticBackupStartTime; private String deploymentType; + private List diskIopsConfigurations; private String dnsName; private String id; private String kmsKeyId; @@ -331,6 +345,7 @@ public Builder(GetWindowsFileSystemResult defaults) { this.copyTagsToBackups = defaults.copyTagsToBackups; this.dailyAutomaticBackupStartTime = defaults.dailyAutomaticBackupStartTime; this.deploymentType = defaults.deploymentType; + this.diskIopsConfigurations = defaults.diskIopsConfigurations; this.dnsName = defaults.dnsName; this.id = defaults.id; this.kmsKeyId = defaults.kmsKeyId; @@ -401,6 +416,14 @@ public Builder deploymentType(String deploymentType) { return this; } @CustomType.Setter + public Builder diskIopsConfigurations(List diskIopsConfigurations) { + this.diskIopsConfigurations = Objects.requireNonNull(diskIopsConfigurations); + return this; + } + public Builder diskIopsConfigurations(GetWindowsFileSystemDiskIopsConfiguration... diskIopsConfigurations) { + return diskIopsConfigurations(List.of(diskIopsConfigurations)); + } + @CustomType.Setter public Builder dnsName(String dnsName) { this.dnsName = Objects.requireNonNull(dnsName); return this; @@ -500,6 +523,7 @@ public GetWindowsFileSystemResult build() { o.copyTagsToBackups = copyTagsToBackups; o.dailyAutomaticBackupStartTime = dailyAutomaticBackupStartTime; o.deploymentType = deploymentType; + o.diskIopsConfigurations = diskIopsConfigurations; o.dnsName = dnsName; o.id = id; o.kmsKeyId = kmsKeyId; diff --git a/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/WindowsFileSystemDiskIopsConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/WindowsFileSystemDiskIopsConfiguration.java new file mode 100644 index 00000000000..5ff3ae9321f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/fsx/outputs/WindowsFileSystemDiskIopsConfiguration.java @@ -0,0 +1,77 @@ +// *** 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.fsx.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class WindowsFileSystemDiskIopsConfiguration { + /** + * @return The total number of SSD IOPS provisioned for the file system. + * + */ + private @Nullable Integer iops; + /** + * @return Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + * + */ + private @Nullable String mode; + + private WindowsFileSystemDiskIopsConfiguration() {} + /** + * @return The total number of SSD IOPS provisioned for the file system. + * + */ + public Optional iops() { + return Optional.ofNullable(this.iops); + } + /** + * @return Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + * + */ + public Optional mode() { + return Optional.ofNullable(this.mode); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WindowsFileSystemDiskIopsConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer iops; + private @Nullable String mode; + public Builder() {} + public Builder(WindowsFileSystemDiskIopsConfiguration defaults) { + Objects.requireNonNull(defaults); + this.iops = defaults.iops; + this.mode = defaults.mode; + } + + @CustomType.Setter + public Builder iops(@Nullable Integer iops) { + this.iops = iops; + return this; + } + @CustomType.Setter + public Builder mode(@Nullable String mode) { + this.mode = mode; + return this; + } + public WindowsFileSystemDiskIopsConfiguration build() { + final var o = new WindowsFileSystemDiskIopsConfiguration(); + o.iops = iops; + o.mode = mode; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java b/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java index 2bf742432da..0a52f9b7d2c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/gamelift/GameServerGroup.java @@ -193,11 +193,11 @@ * * ## Import * - * Using `pulumi import`, import GameLift Game Server Group using the `name`. For example: + * In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example - * ``` + * to = aws_gamelift_game_server_group.example + * + * id = "example" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example * */ @ResourceType(type="aws:gamelift/gameServerGroup:GameServerGroup") diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java index 2d188cb63a8..b2491f54919 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTable.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.glue.CatalogTableArgs; import com.pulumi.aws.glue.inputs.CatalogTableState; +import com.pulumi.aws.glue.outputs.CatalogTableOpenTableFormatInput; import com.pulumi.aws.glue.outputs.CatalogTablePartitionIndex; import com.pulumi.aws.glue.outputs.CatalogTablePartitionKey; import com.pulumi.aws.glue.outputs.CatalogTableStorageDescriptor; @@ -212,6 +213,20 @@ public Output> description() { public Output name() { return this.name; } + /** + * Configuration block for open table formats. See `open_table_format_input` below. + * + */ + @Export(name="openTableFormatInput", refs={CatalogTableOpenTableFormatInput.class}, tree="[0]") + private Output openTableFormatInput; + + /** + * @return Configuration block for open table formats. See `open_table_format_input` below. + * + */ + public Output> openTableFormatInput() { + return Codegen.optional(this.openTableFormatInput); + } /** * Owner of the table. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableArgs.java index 18cd3c230c8..1e9c763a568 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/CatalogTableArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.glue; +import com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputArgs; import com.pulumi.aws.glue.inputs.CatalogTablePartitionIndexArgs; import com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs; import com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs; @@ -86,6 +87,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Configuration block for open table formats. See `open_table_format_input` below. + * + */ + @Import(name="openTableFormatInput") + private @Nullable Output openTableFormatInput; + + /** + * @return Configuration block for open table formats. See `open_table_format_input` below. + * + */ + public Optional> openTableFormatInput() { + return Optional.ofNullable(this.openTableFormatInput); + } + /** * Owner of the table. * @@ -243,6 +259,7 @@ private CatalogTableArgs(CatalogTableArgs $) { this.databaseName = $.databaseName; this.description = $.description; this.name = $.name; + this.openTableFormatInput = $.openTableFormatInput; this.owner = $.owner; this.parameters = $.parameters; this.partitionIndices = $.partitionIndices; @@ -361,6 +378,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param openTableFormatInput Configuration block for open table formats. See `open_table_format_input` below. + * + * @return builder + * + */ + public Builder openTableFormatInput(@Nullable Output openTableFormatInput) { + $.openTableFormatInput = openTableFormatInput; + return this; + } + + /** + * @param openTableFormatInput Configuration block for open table formats. See `open_table_format_input` below. + * + * @return builder + * + */ + public Builder openTableFormatInput(CatalogTableOpenTableFormatInputArgs openTableFormatInput) { + return openTableFormatInput(Output.of(openTableFormatInput)); + } + /** * @param owner Owner of the table. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java b/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java index 60af37cb665..fe2163c3225 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpoint.java @@ -79,11 +79,11 @@ * * ## Import * - * Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example: + * In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo - * ``` + * to = aws_glue_dev_endpoint.example + * + * id = "foo" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo * */ @ResourceType(type="aws:glue/devEndpoint:DevEndpoint") @@ -355,14 +355,14 @@ public Output> subnetId() { return Codegen.optional(this.subnetId); } /** - * 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. + * 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. + * @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() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpointArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpointArgs.java index 9045186ba09..1eeaafe298f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpointArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/DevEndpointArgs.java @@ -214,14 +214,14 @@ public Optional> subnetId() { } /** - * 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. + * 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. + * @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() { @@ -575,7 +575,7 @@ public Builder subnetId(String subnetId) { } /** - * @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. + * @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 * @@ -586,7 +586,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOpenTableFormatInputArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOpenTableFormatInputArgs.java new file mode 100644 index 00000000000..d1d3d0a03e5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOpenTableFormatInputArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.glue.inputs; + +import com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputIcebergInputArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; + + +public final class CatalogTableOpenTableFormatInputArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogTableOpenTableFormatInputArgs Empty = new CatalogTableOpenTableFormatInputArgs(); + + /** + * Configuration block for iceberg table config. See `iceberg_input` below. + * + */ + @Import(name="icebergInput", required=true) + private Output icebergInput; + + /** + * @return Configuration block for iceberg table config. See `iceberg_input` below. + * + */ + public Output icebergInput() { + return this.icebergInput; + } + + private CatalogTableOpenTableFormatInputArgs() {} + + private CatalogTableOpenTableFormatInputArgs(CatalogTableOpenTableFormatInputArgs $) { + this.icebergInput = $.icebergInput; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogTableOpenTableFormatInputArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogTableOpenTableFormatInputArgs $; + + public Builder() { + $ = new CatalogTableOpenTableFormatInputArgs(); + } + + public Builder(CatalogTableOpenTableFormatInputArgs defaults) { + $ = new CatalogTableOpenTableFormatInputArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param icebergInput Configuration block for iceberg table config. See `iceberg_input` below. + * + * @return builder + * + */ + public Builder icebergInput(Output icebergInput) { + $.icebergInput = icebergInput; + return this; + } + + /** + * @param icebergInput Configuration block for iceberg table config. See `iceberg_input` below. + * + * @return builder + * + */ + public Builder icebergInput(CatalogTableOpenTableFormatInputIcebergInputArgs icebergInput) { + return icebergInput(Output.of(icebergInput)); + } + + public CatalogTableOpenTableFormatInputArgs build() { + $.icebergInput = Objects.requireNonNull($.icebergInput, "expected parameter 'icebergInput' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOpenTableFormatInputIcebergInputArgs.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOpenTableFormatInputIcebergInputArgs.java new file mode 100644 index 00000000000..3b6ec2d6fd5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableOpenTableFormatInputIcebergInputArgs.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.glue.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 CatalogTableOpenTableFormatInputIcebergInputArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogTableOpenTableFormatInputIcebergInputArgs Empty = new CatalogTableOpenTableFormatInputIcebergInputArgs(); + + /** + * A required metadata operation. Can only be set to CREATE. + * + */ + @Import(name="metadataOperation", required=true) + private Output metadataOperation; + + /** + * @return A required metadata operation. Can only be set to CREATE. + * + */ + public Output metadataOperation() { + return this.metadataOperation; + } + + /** + * The table version for the Iceberg table. Defaults to 2. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return The table version for the Iceberg table. Defaults to 2. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private CatalogTableOpenTableFormatInputIcebergInputArgs() {} + + private CatalogTableOpenTableFormatInputIcebergInputArgs(CatalogTableOpenTableFormatInputIcebergInputArgs $) { + this.metadataOperation = $.metadataOperation; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogTableOpenTableFormatInputIcebergInputArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogTableOpenTableFormatInputIcebergInputArgs $; + + public Builder() { + $ = new CatalogTableOpenTableFormatInputIcebergInputArgs(); + } + + public Builder(CatalogTableOpenTableFormatInputIcebergInputArgs defaults) { + $ = new CatalogTableOpenTableFormatInputIcebergInputArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param metadataOperation A required metadata operation. Can only be set to CREATE. + * + * @return builder + * + */ + public Builder metadataOperation(Output metadataOperation) { + $.metadataOperation = metadataOperation; + return this; + } + + /** + * @param metadataOperation A required metadata operation. Can only be set to CREATE. + * + * @return builder + * + */ + public Builder metadataOperation(String metadataOperation) { + return metadataOperation(Output.of(metadataOperation)); + } + + /** + * @param version The table version for the Iceberg table. Defaults to 2. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version The table version for the Iceberg table. Defaults to 2. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public CatalogTableOpenTableFormatInputIcebergInputArgs build() { + $.metadataOperation = Objects.requireNonNull($.metadataOperation, "expected parameter 'metadataOperation' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableState.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableState.java index 328aae33ba3..4b0d9c0246f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/CatalogTableState.java @@ -3,6 +3,7 @@ package com.pulumi.aws.glue.inputs; +import com.pulumi.aws.glue.inputs.CatalogTableOpenTableFormatInputArgs; import com.pulumi.aws.glue.inputs.CatalogTablePartitionIndexArgs; import com.pulumi.aws.glue.inputs.CatalogTablePartitionKeyArgs; import com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs; @@ -101,6 +102,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Configuration block for open table formats. See `open_table_format_input` below. + * + */ + @Import(name="openTableFormatInput") + private @Nullable Output openTableFormatInput; + + /** + * @return Configuration block for open table formats. See `open_table_format_input` below. + * + */ + public Optional> openTableFormatInput() { + return Optional.ofNullable(this.openTableFormatInput); + } + /** * Owner of the table. * @@ -259,6 +275,7 @@ private CatalogTableState(CatalogTableState $) { this.databaseName = $.databaseName; this.description = $.description; this.name = $.name; + this.openTableFormatInput = $.openTableFormatInput; this.owner = $.owner; this.parameters = $.parameters; this.partitionIndices = $.partitionIndices; @@ -398,6 +415,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param openTableFormatInput Configuration block for open table formats. See `open_table_format_input` below. + * + * @return builder + * + */ + public Builder openTableFormatInput(@Nullable Output openTableFormatInput) { + $.openTableFormatInput = openTableFormatInput; + return this; + } + + /** + * @param openTableFormatInput Configuration block for open table formats. See `open_table_format_input` below. + * + * @return builder + * + */ + public Builder openTableFormatInput(CatalogTableOpenTableFormatInputArgs openTableFormatInput) { + return openTableFormatInput(Output.of(openTableFormatInput)); + } + /** * @param owner Owner of the table. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/DevEndpointState.java b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/DevEndpointState.java index 0f0c1d8d6f1..20ba39fb405 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/DevEndpointState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/inputs/DevEndpointState.java @@ -304,14 +304,14 @@ public Optional> subnetId() { } /** - * 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. + * 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. + * @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() { @@ -861,7 +861,7 @@ public Builder subnetId(String subnetId) { } /** - * @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. + * @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 * @@ -872,7 +872,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOpenTableFormatInput.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOpenTableFormatInput.java new file mode 100644 index 00000000000..f83d9162a3d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOpenTableFormatInput.java @@ -0,0 +1,54 @@ +// *** 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.glue.outputs; + +import com.pulumi.aws.glue.outputs.CatalogTableOpenTableFormatInputIcebergInput; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; + +@CustomType +public final class CatalogTableOpenTableFormatInput { + /** + * @return Configuration block for iceberg table config. See `iceberg_input` below. + * + */ + private CatalogTableOpenTableFormatInputIcebergInput icebergInput; + + private CatalogTableOpenTableFormatInput() {} + /** + * @return Configuration block for iceberg table config. See `iceberg_input` below. + * + */ + public CatalogTableOpenTableFormatInputIcebergInput icebergInput() { + return this.icebergInput; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogTableOpenTableFormatInput defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private CatalogTableOpenTableFormatInputIcebergInput icebergInput; + public Builder() {} + public Builder(CatalogTableOpenTableFormatInput defaults) { + Objects.requireNonNull(defaults); + this.icebergInput = defaults.icebergInput; + } + + @CustomType.Setter + public Builder icebergInput(CatalogTableOpenTableFormatInputIcebergInput icebergInput) { + this.icebergInput = Objects.requireNonNull(icebergInput); + return this; + } + public CatalogTableOpenTableFormatInput build() { + final var o = new CatalogTableOpenTableFormatInput(); + o.icebergInput = icebergInput; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOpenTableFormatInputIcebergInput.java b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOpenTableFormatInputIcebergInput.java new file mode 100644 index 00000000000..c8a7b678468 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/glue/outputs/CatalogTableOpenTableFormatInputIcebergInput.java @@ -0,0 +1,76 @@ +// *** 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.glue.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 CatalogTableOpenTableFormatInputIcebergInput { + /** + * @return A required metadata operation. Can only be set to CREATE. + * + */ + private String metadataOperation; + /** + * @return The table version for the Iceberg table. Defaults to 2. + * + */ + private @Nullable String version; + + private CatalogTableOpenTableFormatInputIcebergInput() {} + /** + * @return A required metadata operation. Can only be set to CREATE. + * + */ + public String metadataOperation() { + return this.metadataOperation; + } + /** + * @return The table version for the Iceberg table. Defaults to 2. + * + */ + public Optional version() { + return Optional.ofNullable(this.version); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogTableOpenTableFormatInputIcebergInput defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String metadataOperation; + private @Nullable String version; + public Builder() {} + public Builder(CatalogTableOpenTableFormatInputIcebergInput defaults) { + Objects.requireNonNull(defaults); + this.metadataOperation = defaults.metadataOperation; + this.version = defaults.version; + } + + @CustomType.Setter + public Builder metadataOperation(String metadataOperation) { + this.metadataOperation = Objects.requireNonNull(metadataOperation); + return this; + } + @CustomType.Setter + public Builder version(@Nullable String version) { + this.version = version; + return this; + } + public CatalogTableOpenTableFormatInputIcebergInput build() { + final var o = new CatalogTableOpenTableFormatInputIcebergInput(); + o.metadataOperation = metadataOperation; + o.version = version; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java index 7acc47fc3f6..7fd38ed0ee7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/GroupPolicyAttachment.java @@ -61,11 +61,11 @@ * * ## Import * - * Using `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example: + * In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - * ``` + * to = aws_iam_group_policy_attachment.test-attach + * + * id = "test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy * */ @ResourceType(type="aws:iam/groupPolicyAttachment:GroupPolicyAttachment") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java index 62fee5147c5..9241ece5745 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/IamFunctions.java @@ -6928,7 +6928,7 @@ public static CompletableFuture getServerCertificate * } * } * ``` - * ### Find the Provider's Source Role + * ### Find the TODO Runner's Source Role * * Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. * ```java @@ -7003,7 +7003,7 @@ public static Output getSessionContext(GetSessionContex * } * } * ``` - * ### Find the Provider's Source Role + * ### Find the TODO Runner's Source Role * * Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. * ```java @@ -7078,7 +7078,7 @@ public static CompletableFuture getSessionContextPlain( * } * } * ``` - * ### Find the Provider's Source Role + * ### Find the TODO Runner's Source Role * * Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. * ```java @@ -7153,7 +7153,7 @@ public static Output getSessionContext(GetSessionContex * } * } * ``` - * ### Find the Provider's Source Role + * ### Find the TODO Runner's Source Role * * Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java index 54e80f90771..34f15b89d53 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RolePolicyAttachment.java @@ -18,7 +18,7 @@ * * > **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined. * - * > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + * > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference. * * ## Example Usage * ```java @@ -87,11 +87,11 @@ * * ## Import * - * Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: + * In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - * ``` + * to = aws_iam_role_policy_attachment.test-attach + * + * id = "test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy * */ @ResourceType(type="aws:iam/rolePolicyAttachment:RolePolicyAttachment") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java index c0ba7127db6..20e08571229 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserPolicyAttachment.java @@ -61,11 +61,11 @@ * * ## Import * - * Using `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example: + * In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - * ``` + * to = aws_iam_user_policy_attachment.test-attach + * + * id = "test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy * */ @ResourceType(type="aws:iam/userPolicyAttachment:UserPolicyAttachment") diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextArgs.java index 887e2063c03..0e8c79b1ae0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextArgs.java @@ -16,7 +16,7 @@ public final class GetSessionContextArgs extends com.pulumi.resources.InvokeArgs /** * ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * */ @Import(name="arn", required=true) @@ -25,7 +25,7 @@ public final class GetSessionContextArgs extends com.pulumi.resources.InvokeArgs /** * @return ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * */ public Output arn() { @@ -59,7 +59,7 @@ public Builder(GetSessionContextArgs defaults) { /** * @param arn ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * * @return builder * @@ -72,7 +72,7 @@ public Builder arn(Output arn) { /** * @param arn ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextPlainArgs.java index 62be2498dea..2612e3a19a1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/inputs/GetSessionContextPlainArgs.java @@ -15,7 +15,7 @@ public final class GetSessionContextPlainArgs extends com.pulumi.resources.Invok /** * ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * */ @Import(name="arn", required=true) @@ -24,7 +24,7 @@ public final class GetSessionContextPlainArgs extends com.pulumi.resources.Invok /** * @return ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * */ public String arn() { @@ -58,7 +58,7 @@ public Builder(GetSessionContextPlainArgs defaults) { /** * @param arn ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupArgs.java index a2d3fef3053..ac9216b03ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.identitystore.inputs; import com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifierArgs; +import com.pulumi.aws.identitystore.inputs.GetGroupFilterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -17,24 +18,47 @@ public final class GetGroupArgs extends com.pulumi.resources.InvokeArgs { public static final GetGroupArgs Empty = new GetGroupArgs(); /** - * A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + * A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. * */ @Import(name="alternateIdentifier") private @Nullable Output alternateIdentifier; /** - * @return A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + * @return A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. * */ public Optional> alternateIdentifier() { return Optional.ofNullable(this.alternateIdentifier); } + /** + * Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + /** * The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * */ @Import(name="groupId") @@ -43,7 +67,7 @@ public Optional> alternateIdentifier() { /** * @return The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * */ public Optional> groupId() { @@ -73,6 +97,7 @@ private GetGroupArgs() {} private GetGroupArgs(GetGroupArgs $) { this.alternateIdentifier = $.alternateIdentifier; + this.filter = $.filter; this.groupId = $.groupId; this.identityStoreId = $.identityStoreId; } @@ -96,7 +121,7 @@ public Builder(GetGroupArgs defaults) { } /** - * @param alternateIdentifier A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + * @param alternateIdentifier A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. * * @return builder * @@ -107,7 +132,7 @@ public Builder alternateIdentifier(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @return builder + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Builder filter(GetGroupFilterArgs filter) { + return filter(Output.of(filter)); + } + /** * @param groupId The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * * @return builder * @@ -132,7 +186,7 @@ public Builder groupId(@Nullable Output groupId) { /** * @param groupId The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupFilter.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupFilter.java new file mode 100644 index 00000000000..9c097572a5f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupFilter.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.identitystore.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetGroupFilter extends com.pulumi.resources.InvokeArgs { + + public static final GetGroupFilter Empty = new GetGroupFilter(); + + /** + * Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + */ + @Import(name="attributePath", required=true) + private String attributePath; + + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + */ + public String attributePath() { + return this.attributePath; + } + + /** + * Value for an attribute. + * + */ + @Import(name="attributeValue", required=true) + private String attributeValue; + + /** + * @return Value for an attribute. + * + */ + public String attributeValue() { + return this.attributeValue; + } + + private GetGroupFilter() {} + + private GetGroupFilter(GetGroupFilter $) { + this.attributePath = $.attributePath; + this.attributeValue = $.attributeValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetGroupFilter defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetGroupFilter $; + + public Builder() { + $ = new GetGroupFilter(); + } + + public Builder(GetGroupFilter defaults) { + $ = new GetGroupFilter(Objects.requireNonNull(defaults)); + } + + /** + * @param attributePath Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + * @return builder + * + */ + public Builder attributePath(String attributePath) { + $.attributePath = attributePath; + return this; + } + + /** + * @param attributeValue Value for an attribute. + * + * @return builder + * + */ + public Builder attributeValue(String attributeValue) { + $.attributeValue = attributeValue; + return this; + } + + public GetGroupFilter build() { + $.attributePath = Objects.requireNonNull($.attributePath, "expected parameter 'attributePath' to be non-null"); + $.attributeValue = Objects.requireNonNull($.attributeValue, "expected parameter 'attributeValue' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupFilterArgs.java new file mode 100644 index 00000000000..3b645a0c81d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupFilterArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.identitystore.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetGroupFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetGroupFilterArgs Empty = new GetGroupFilterArgs(); + + /** + * Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + */ + @Import(name="attributePath", required=true) + private Output attributePath; + + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + */ + public Output attributePath() { + return this.attributePath; + } + + /** + * Value for an attribute. + * + */ + @Import(name="attributeValue", required=true) + private Output attributeValue; + + /** + * @return Value for an attribute. + * + */ + public Output attributeValue() { + return this.attributeValue; + } + + private GetGroupFilterArgs() {} + + private GetGroupFilterArgs(GetGroupFilterArgs $) { + this.attributePath = $.attributePath; + this.attributeValue = $.attributeValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetGroupFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetGroupFilterArgs $; + + public Builder() { + $ = new GetGroupFilterArgs(); + } + + public Builder(GetGroupFilterArgs defaults) { + $ = new GetGroupFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param attributePath Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + * @return builder + * + */ + public Builder attributePath(Output attributePath) { + $.attributePath = attributePath; + return this; + } + + /** + * @param attributePath Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + * @return builder + * + */ + public Builder attributePath(String attributePath) { + return attributePath(Output.of(attributePath)); + } + + /** + * @param attributeValue Value for an attribute. + * + * @return builder + * + */ + public Builder attributeValue(Output attributeValue) { + $.attributeValue = attributeValue; + return this; + } + + /** + * @param attributeValue Value for an attribute. + * + * @return builder + * + */ + public Builder attributeValue(String attributeValue) { + return attributeValue(Output.of(attributeValue)); + } + + public GetGroupFilterArgs build() { + $.attributePath = Objects.requireNonNull($.attributePath, "expected parameter 'attributePath' to be non-null"); + $.attributeValue = Objects.requireNonNull($.attributeValue, "expected parameter 'attributeValue' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupPlainArgs.java index 7d540a3f6f0..549caad1e72 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupPlainArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.identitystore.inputs; import com.pulumi.aws.identitystore.inputs.GetGroupAlternateIdentifier; +import com.pulumi.aws.identitystore.inputs.GetGroupFilter; import com.pulumi.core.annotations.Import; import java.lang.String; import java.util.Objects; @@ -16,24 +17,47 @@ public final class GetGroupPlainArgs extends com.pulumi.resources.InvokeArgs { public static final GetGroupPlainArgs Empty = new GetGroupPlainArgs(); /** - * A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + * A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. * */ @Import(name="alternateIdentifier") private @Nullable GetGroupAlternateIdentifier alternateIdentifier; /** - * @return A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + * @return A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. * */ public Optional alternateIdentifier() { return Optional.ofNullable(this.alternateIdentifier); } + /** + * Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + @Import(name="filter") + private @Nullable GetGroupFilter filter; + + /** + * @return Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } + /** * The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * */ @Import(name="groupId") @@ -42,7 +66,7 @@ public Optional alternateIdentifier() { /** * @return The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * */ public Optional groupId() { @@ -72,6 +96,7 @@ private GetGroupPlainArgs() {} private GetGroupPlainArgs(GetGroupPlainArgs $) { this.alternateIdentifier = $.alternateIdentifier; + this.filter = $.filter; this.groupId = $.groupId; this.identityStoreId = $.identityStoreId; } @@ -95,7 +120,7 @@ public Builder(GetGroupPlainArgs defaults) { } /** - * @param alternateIdentifier A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + * @param alternateIdentifier A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. * * @return builder * @@ -105,10 +130,25 @@ public Builder alternateIdentifier(@Nullable GetGroupAlternateIdentifier alterna return this; } + /** + * @param filter Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @return builder + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Builder filter(@Nullable GetGroupFilter filter) { + $.filter = filter; + return this; + } + /** * @param groupId The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserArgs.java index acda6cda954..04edd2e302f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.identitystore.inputs; import com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifierArgs; +import com.pulumi.aws.identitystore.inputs.GetUserFilterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.String; @@ -17,20 +18,43 @@ public final class GetUserArgs extends com.pulumi.resources.InvokeArgs { public static final GetUserArgs Empty = new GetUserArgs(); /** - * A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + * A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. * */ @Import(name="alternateIdentifier") private @Nullable Output alternateIdentifier; /** - * @return A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + * @return A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. * */ public Optional> alternateIdentifier() { return Optional.ofNullable(this.alternateIdentifier); } + /** + * Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + /** * Identity Store ID associated with the Single Sign-On Instance. * @@ -53,7 +77,7 @@ public Output identityStoreId() { /** * The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * */ @Import(name="userId") @@ -62,7 +86,7 @@ public Output identityStoreId() { /** * @return The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * */ public Optional> userId() { @@ -73,6 +97,7 @@ private GetUserArgs() {} private GetUserArgs(GetUserArgs $) { this.alternateIdentifier = $.alternateIdentifier; + this.filter = $.filter; this.identityStoreId = $.identityStoreId; this.userId = $.userId; } @@ -96,7 +121,7 @@ public Builder(GetUserArgs defaults) { } /** - * @param alternateIdentifier A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + * @param alternateIdentifier A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. * * @return builder * @@ -107,7 +132,7 @@ public Builder alternateIdentifier(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @return builder + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Builder filter(GetUserFilterArgs filter) { + return filter(Output.of(filter)); + } + /** * @param identityStoreId Identity Store ID associated with the Single Sign-On Instance. * @@ -144,7 +198,7 @@ public Builder identityStoreId(String identityStoreId) { /** * @param userId The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * * @return builder * @@ -157,7 +211,7 @@ public Builder userId(@Nullable Output userId) { /** * @param userId The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserFilter.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserFilter.java new file mode 100644 index 00000000000..b72751ad8c5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserFilter.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.identitystore.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetUserFilter extends com.pulumi.resources.InvokeArgs { + + public static final GetUserFilter Empty = new GetUserFilter(); + + /** + * Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + */ + @Import(name="attributePath", required=true) + private String attributePath; + + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + */ + public String attributePath() { + return this.attributePath; + } + + /** + * Value for an attribute. + * + */ + @Import(name="attributeValue", required=true) + private String attributeValue; + + /** + * @return Value for an attribute. + * + */ + public String attributeValue() { + return this.attributeValue; + } + + private GetUserFilter() {} + + private GetUserFilter(GetUserFilter $) { + this.attributePath = $.attributePath; + this.attributeValue = $.attributeValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetUserFilter defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetUserFilter $; + + public Builder() { + $ = new GetUserFilter(); + } + + public Builder(GetUserFilter defaults) { + $ = new GetUserFilter(Objects.requireNonNull(defaults)); + } + + /** + * @param attributePath Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + * @return builder + * + */ + public Builder attributePath(String attributePath) { + $.attributePath = attributePath; + return this; + } + + /** + * @param attributeValue Value for an attribute. + * + * @return builder + * + */ + public Builder attributeValue(String attributeValue) { + $.attributeValue = attributeValue; + return this; + } + + public GetUserFilter build() { + $.attributePath = Objects.requireNonNull($.attributePath, "expected parameter 'attributePath' to be non-null"); + $.attributeValue = Objects.requireNonNull($.attributeValue, "expected parameter 'attributeValue' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserFilterArgs.java new file mode 100644 index 00000000000..5f791b3880f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserFilterArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.identitystore.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetUserFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetUserFilterArgs Empty = new GetUserFilterArgs(); + + /** + * Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + */ + @Import(name="attributePath", required=true) + private Output attributePath; + + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + */ + public Output attributePath() { + return this.attributePath; + } + + /** + * Value for an attribute. + * + */ + @Import(name="attributeValue", required=true) + private Output attributeValue; + + /** + * @return Value for an attribute. + * + */ + public Output attributeValue() { + return this.attributeValue; + } + + private GetUserFilterArgs() {} + + private GetUserFilterArgs(GetUserFilterArgs $) { + this.attributePath = $.attributePath; + this.attributeValue = $.attributeValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetUserFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetUserFilterArgs $; + + public Builder() { + $ = new GetUserFilterArgs(); + } + + public Builder(GetUserFilterArgs defaults) { + $ = new GetUserFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param attributePath Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + * @return builder + * + */ + public Builder attributePath(Output attributePath) { + $.attributePath = attributePath; + return this; + } + + /** + * @param attributePath Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + * @return builder + * + */ + public Builder attributePath(String attributePath) { + return attributePath(Output.of(attributePath)); + } + + /** + * @param attributeValue Value for an attribute. + * + * @return builder + * + */ + public Builder attributeValue(Output attributeValue) { + $.attributeValue = attributeValue; + return this; + } + + /** + * @param attributeValue Value for an attribute. + * + * @return builder + * + */ + public Builder attributeValue(String attributeValue) { + return attributeValue(Output.of(attributeValue)); + } + + public GetUserFilterArgs build() { + $.attributePath = Objects.requireNonNull($.attributePath, "expected parameter 'attributePath' to be non-null"); + $.attributeValue = Objects.requireNonNull($.attributeValue, "expected parameter 'attributeValue' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserPlainArgs.java index 3e50f9ee2d3..42cd8d81406 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetUserPlainArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.identitystore.inputs; import com.pulumi.aws.identitystore.inputs.GetUserAlternateIdentifier; +import com.pulumi.aws.identitystore.inputs.GetUserFilter; import com.pulumi.core.annotations.Import; import java.lang.String; import java.util.Objects; @@ -16,20 +17,43 @@ public final class GetUserPlainArgs extends com.pulumi.resources.InvokeArgs { public static final GetUserPlainArgs Empty = new GetUserPlainArgs(); /** - * A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + * A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. * */ @Import(name="alternateIdentifier") private @Nullable GetUserAlternateIdentifier alternateIdentifier; /** - * @return A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + * @return A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. * */ public Optional alternateIdentifier() { return Optional.ofNullable(this.alternateIdentifier); } + /** + * Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + @Import(name="filter") + private @Nullable GetUserFilter filter; + + /** + * @return Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } + /** * Identity Store ID associated with the Single Sign-On Instance. * @@ -52,7 +76,7 @@ public String identityStoreId() { /** * The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * */ @Import(name="userId") @@ -61,7 +85,7 @@ public String identityStoreId() { /** * @return The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * */ public Optional userId() { @@ -72,6 +96,7 @@ private GetUserPlainArgs() {} private GetUserPlainArgs(GetUserPlainArgs $) { this.alternateIdentifier = $.alternateIdentifier; + this.filter = $.filter; this.identityStoreId = $.identityStoreId; this.userId = $.userId; } @@ -95,7 +120,7 @@ public Builder(GetUserPlainArgs defaults) { } /** - * @param alternateIdentifier A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + * @param alternateIdentifier A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. * * @return builder * @@ -105,6 +130,21 @@ public Builder alternateIdentifier(@Nullable GetUserAlternateIdentifier alternat return this; } + /** + * @param filter Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @return builder + * + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Builder filter(@Nullable GetUserFilter filter) { + $.filter = filter; + return this; + } + /** * @param identityStoreId Identity Store ID associated with the Single Sign-On Instance. * @@ -121,7 +161,7 @@ public Builder identityStoreId(String identityStoreId) { /** * @param userId The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupFilter.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupFilter.java new file mode 100644 index 00000000000..e4f378c9ffd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupFilter.java @@ -0,0 +1,74 @@ +// *** 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.identitystore.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGroupFilter { + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + */ + private String attributePath; + /** + * @return Value for an attribute. + * + */ + private String attributeValue; + + private GetGroupFilter() {} + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + * + */ + public String attributePath() { + return this.attributePath; + } + /** + * @return Value for an attribute. + * + */ + public String attributeValue() { + return this.attributeValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGroupFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String attributePath; + private String attributeValue; + public Builder() {} + public Builder(GetGroupFilter defaults) { + Objects.requireNonNull(defaults); + this.attributePath = defaults.attributePath; + this.attributeValue = defaults.attributeValue; + } + + @CustomType.Setter + public Builder attributePath(String attributePath) { + this.attributePath = Objects.requireNonNull(attributePath); + return this; + } + @CustomType.Setter + public Builder attributeValue(String attributeValue) { + this.attributeValue = Objects.requireNonNull(attributeValue); + return this; + } + public GetGroupFilter build() { + final var o = new GetGroupFilter(); + o.attributePath = attributePath; + o.attributeValue = attributeValue; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupResult.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupResult.java index 7ffbb6918f5..9376408ebf4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupResult.java @@ -5,6 +5,7 @@ import com.pulumi.aws.identitystore.outputs.GetGroupAlternateIdentifier; import com.pulumi.aws.identitystore.outputs.GetGroupExternalId; +import com.pulumi.aws.identitystore.outputs.GetGroupFilter; import com.pulumi.core.annotations.CustomType; import java.lang.String; import java.util.List; @@ -30,6 +31,13 @@ public final class GetGroupResult { * */ private List externalIds; + /** + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + private @Nullable GetGroupFilter filter; private String groupId; /** * @return The provider-assigned unique ID for this managed resource. @@ -63,6 +71,15 @@ public String displayName() { public List externalIds() { return this.externalIds; } + /** + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } public String groupId() { return this.groupId; } @@ -90,6 +107,7 @@ public static final class Builder { private String description; private String displayName; private List externalIds; + private @Nullable GetGroupFilter filter; private String groupId; private String id; private String identityStoreId; @@ -100,6 +118,7 @@ public Builder(GetGroupResult defaults) { this.description = defaults.description; this.displayName = defaults.displayName; this.externalIds = defaults.externalIds; + this.filter = defaults.filter; this.groupId = defaults.groupId; this.id = defaults.id; this.identityStoreId = defaults.identityStoreId; @@ -129,6 +148,11 @@ public Builder externalIds(GetGroupExternalId... externalIds) { return externalIds(List.of(externalIds)); } @CustomType.Setter + public Builder filter(@Nullable GetGroupFilter filter) { + this.filter = filter; + return this; + } + @CustomType.Setter public Builder groupId(String groupId) { this.groupId = Objects.requireNonNull(groupId); return this; @@ -149,6 +173,7 @@ public GetGroupResult build() { o.description = description; o.displayName = displayName; o.externalIds = externalIds; + o.filter = filter; o.groupId = groupId; o.id = id; o.identityStoreId = identityStoreId; diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserFilter.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserFilter.java new file mode 100644 index 00000000000..af6bdfe7912 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserFilter.java @@ -0,0 +1,74 @@ +// *** 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.identitystore.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetUserFilter { + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + */ + private String attributePath; + /** + * @return Value for an attribute. + * + */ + private String attributeValue; + + private GetUserFilter() {} + /** + * @return Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + * + */ + public String attributePath() { + return this.attributePath; + } + /** + * @return Value for an attribute. + * + */ + public String attributeValue() { + return this.attributeValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetUserFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String attributePath; + private String attributeValue; + public Builder() {} + public Builder(GetUserFilter defaults) { + Objects.requireNonNull(defaults); + this.attributePath = defaults.attributePath; + this.attributeValue = defaults.attributeValue; + } + + @CustomType.Setter + public Builder attributePath(String attributePath) { + this.attributePath = Objects.requireNonNull(attributePath); + return this; + } + @CustomType.Setter + public Builder attributeValue(String attributeValue) { + this.attributeValue = Objects.requireNonNull(attributeValue); + return this; + } + public GetUserFilter build() { + final var o = new GetUserFilter(); + o.attributePath = attributePath; + o.attributeValue = attributeValue; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserResult.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserResult.java index abaa328ecc9..69476f8f180 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetUserResult.java @@ -7,6 +7,7 @@ import com.pulumi.aws.identitystore.outputs.GetUserAlternateIdentifier; import com.pulumi.aws.identitystore.outputs.GetUserEmail; import com.pulumi.aws.identitystore.outputs.GetUserExternalId; +import com.pulumi.aws.identitystore.outputs.GetUserFilter; import com.pulumi.aws.identitystore.outputs.GetUserName; import com.pulumi.aws.identitystore.outputs.GetUserPhoneNumber; import com.pulumi.core.annotations.CustomType; @@ -39,6 +40,13 @@ public final class GetUserResult { * */ private List externalIds; + /** + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + private @Nullable GetUserFilter filter; /** * @return The provider-assigned unique ID for this managed resource. * @@ -129,6 +137,15 @@ public List emails() { public List externalIds() { return this.externalIds; } + /** + * @deprecated + * Use the alternate_identifier attribute instead. + * + */ + @Deprecated /* Use the alternate_identifier attribute instead. */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } /** * @return The provider-assigned unique ID for this managed resource. * @@ -227,6 +244,7 @@ public static final class Builder { private String displayName; private List emails; private List externalIds; + private @Nullable GetUserFilter filter; private String id; private String identityStoreId; private String locale; @@ -248,6 +266,7 @@ public Builder(GetUserResult defaults) { this.displayName = defaults.displayName; this.emails = defaults.emails; this.externalIds = defaults.externalIds; + this.filter = defaults.filter; this.id = defaults.id; this.identityStoreId = defaults.identityStoreId; this.locale = defaults.locale; @@ -298,6 +317,11 @@ public Builder externalIds(GetUserExternalId... externalIds) { return externalIds(List.of(externalIds)); } @CustomType.Setter + public Builder filter(@Nullable GetUserFilter filter) { + this.filter = filter; + return this; + } + @CustomType.Setter public Builder id(String id) { this.id = Objects.requireNonNull(id); return this; @@ -375,6 +399,7 @@ public GetUserResult build() { o.displayName = displayName; o.emails = emails; o.externalIds = externalIds; + o.filter = filter; o.id = id; o.identityStoreId = identityStoreId; o.locale = locale; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java index f8e54ff3f1a..2ae5361832b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iot/ProvisioningTemplate.java @@ -86,6 +86,7 @@ * var fleet = new ProvisioningTemplate("fleet", ProvisioningTemplateArgs.builder() * .description("My provisioning template") * .provisioningRoleArn(iotFleetProvisioning.arn()) + * .enabled(true) * .templateBody(devicePolicyPolicy.name().applyValue(name -> serializeJson( * jsonObject( * jsonProperty("Parameters", jsonObject( diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlArgs.java index 9a5ae4b70f3..f0afa4f51b6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlArgs.java @@ -16,14 +16,14 @@ public final class GetFunctionUrlArgs extends com.pulumi.resources.InvokeArgs { public static final GetFunctionUrlArgs Empty = new GetFunctionUrlArgs(); /** - * he name (or ARN) of the Lambda function. + * The name (or ARN) of the Lambda function. * */ @Import(name="functionName", required=true) private Output functionName; /** - * @return he name (or ARN) of the Lambda function. + * @return The name (or ARN) of the Lambda function. * */ public Output functionName() { @@ -71,7 +71,7 @@ public Builder(GetFunctionUrlArgs defaults) { } /** - * @param functionName he name (or ARN) of the Lambda function. + * @param functionName The name (or ARN) of the Lambda function. * * @return builder * @@ -82,7 +82,7 @@ public Builder functionName(Output functionName) { } /** - * @param functionName he name (or ARN) of the Lambda function. + * @param functionName The name (or ARN) of the Lambda function. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlPlainArgs.java index b1d31c5233a..ccad6b657ab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/lambda/inputs/GetFunctionUrlPlainArgs.java @@ -15,14 +15,14 @@ public final class GetFunctionUrlPlainArgs extends com.pulumi.resources.InvokeAr public static final GetFunctionUrlPlainArgs Empty = new GetFunctionUrlPlainArgs(); /** - * he name (or ARN) of the Lambda function. + * The name (or ARN) of the Lambda function. * */ @Import(name="functionName", required=true) private String functionName; /** - * @return he name (or ARN) of the Lambda function. + * @return The name (or ARN) of the Lambda function. * */ public String functionName() { @@ -70,7 +70,7 @@ public Builder(GetFunctionUrlPlainArgs defaults) { } /** - * @param functionName he name (or ARN) of the Lambda function. + * @param functionName The name (or ARN) of the Lambda function. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/Association.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/Association.java index b3fe0a63957..6013d38e41f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/Association.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/Association.java @@ -75,11 +75,11 @@ * * ## Import * - * Using `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - * ``` + * to = aws_licensemanager_association.example + * + * id = "arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef * */ @ResourceType(type="aws:licensemanager/association:Association") diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java index 6ebc6b9036d..26fe285f532 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfiguration.java @@ -21,7 +21,7 @@ /** * Provides a License Manager license configuration resource. * - * > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - recreate the resource instead. + * > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.<id>` to recreate the resource instead. * * ## Example Usage * ```java @@ -71,11 +71,11 @@ * * ## Import * - * Using `pulumi import`, import license configurations using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - * ``` + * to = aws_licensemanager_license_configuration.example + * + * id = "arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef * */ @ResourceType(type="aws:licensemanager/licenseConfiguration:LicenseConfiguration") @@ -193,14 +193,14 @@ public Output ownerAccountId() { return this.ownerAccountId; } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfigurationArgs.java index 0e25bea4531..fd8f0950e55 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/LicenseConfigurationArgs.java @@ -110,14 +110,14 @@ public Optional> name() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -291,7 +291,7 @@ public Builder name(String name) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -302,7 +302,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseConfigurationState.java b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseConfigurationState.java index 56fdf63a3fc..18b7a24e01d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseConfigurationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/licensemanager/inputs/LicenseConfigurationState.java @@ -140,14 +140,14 @@ public Optional> ownerAccountId() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -381,7 +381,7 @@ public Builder ownerAccountId(String ownerAccountId) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -392,7 +392,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.java index 9eca65a5afe..dc728fc44ff 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelEncoderSettingsOutputGroupOutputOutputSettingsArgs.java @@ -104,14 +104,14 @@ public Optional udpOutputSettings; /** - * @return UDP output settings. See UDP Output Settings for more details + * @return UDP output settings. See UDP Output Settings for more details. * */ public Optional> udpOutputSettings() { @@ -261,7 +261,7 @@ public Builder rtmpOutputSettings(ChannelEncoderSettingsOutputGroupOutputOutputS } /** - * @param udpOutputSettings UDP output settings. See UDP Output Settings for more details + * @param udpOutputSettings UDP output settings. See UDP Output Settings for more details. * * @return builder * @@ -272,7 +272,7 @@ public Builder udpOutputSettings(@Nullable Output automaticInputFailoverSettings; + /** + * @return User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + * + */ public Optional> automaticInputFailoverSettings() { return Optional.ofNullable(this.automaticInputFailoverSettings); } @@ -55,14 +63,14 @@ public Output inputId() { } /** - * Settings of an input. See Input Settings for more details + * Settings of an input. See Input Settings for more details. * */ @Import(name="inputSettings") private @Nullable Output inputSettings; /** - * @return Settings of an input. See Input Settings for more details + * @return Settings of an input. See Input Settings for more details. * */ public Optional> inputSettings() { @@ -96,11 +104,23 @@ public Builder(ChannelInputAttachmentArgs defaults) { $ = new ChannelInputAttachmentArgs(Objects.requireNonNull(defaults)); } + /** + * @param automaticInputFailoverSettings User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + * + * @return builder + * + */ public Builder automaticInputFailoverSettings(@Nullable Output automaticInputFailoverSettings) { $.automaticInputFailoverSettings = automaticInputFailoverSettings; return this; } + /** + * @param automaticInputFailoverSettings User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + * + * @return builder + * + */ public Builder automaticInputFailoverSettings(ChannelInputAttachmentAutomaticInputFailoverSettingsArgs automaticInputFailoverSettings) { return automaticInputFailoverSettings(Output.of(automaticInputFailoverSettings)); } @@ -148,7 +168,7 @@ public Builder inputId(String inputId) { } /** - * @param inputSettings Settings of an input. See Input Settings for more details + * @param inputSettings Settings of an input. See Input Settings for more details. * * @return builder * @@ -159,7 +179,7 @@ public Builder inputSettings(@Nullable Output errorClearTimeMsec; + /** + * @return This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + * + */ public Optional> errorClearTimeMsec() { return Optional.ofNullable(this.errorClearTimeMsec); } @@ -32,16 +40,32 @@ public Optional inputPreference; + /** + * @return Input preference when deciding which input to make active when a previously failed input has recovered. + * + */ public Optional> inputPreference() { return Optional.ofNullable(this.inputPreference); } + /** + * The input ID of the secondary input in the automatic input failover pair. + * + */ @Import(name="secondaryInputId", required=true) private Output secondaryInputId; + /** + * @return The input ID of the secondary input in the automatic input failover pair. + * + */ public Output secondaryInputId() { return this.secondaryInputId; } @@ -73,11 +97,23 @@ public Builder(ChannelInputAttachmentAutomaticInputFailoverSettingsArgs defaults $ = new ChannelInputAttachmentAutomaticInputFailoverSettingsArgs(Objects.requireNonNull(defaults)); } + /** + * @param errorClearTimeMsec This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + * + * @return builder + * + */ public Builder errorClearTimeMsec(@Nullable Output errorClearTimeMsec) { $.errorClearTimeMsec = errorClearTimeMsec; return this; } + /** + * @param errorClearTimeMsec This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + * + * @return builder + * + */ public Builder errorClearTimeMsec(Integer errorClearTimeMsec) { return errorClearTimeMsec(Output.of(errorClearTimeMsec)); } @@ -95,20 +131,44 @@ public Builder failoverConditions(ChannelInputAttachmentAutomaticInputFailoverSe return failoverConditions(List.of(failoverConditions)); } + /** + * @param inputPreference Input preference when deciding which input to make active when a previously failed input has recovered. + * + * @return builder + * + */ public Builder inputPreference(@Nullable Output inputPreference) { $.inputPreference = inputPreference; return this; } + /** + * @param inputPreference Input preference when deciding which input to make active when a previously failed input has recovered. + * + * @return builder + * + */ public Builder inputPreference(String inputPreference) { return inputPreference(Output.of(inputPreference)); } + /** + * @param secondaryInputId The input ID of the secondary input in the automatic input failover pair. + * + * @return builder + * + */ public Builder secondaryInputId(Output secondaryInputId) { $.secondaryInputId = secondaryInputId; return this; } + /** + * @param secondaryInputId The input ID of the secondary input in the automatic input failover pair. + * + * @return builder + * + */ public Builder secondaryInputId(String secondaryInputId) { return secondaryInputId(Output.of(secondaryInputId)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.java index bd4bfaef8d5..39c3b8dcc42 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs.java @@ -15,9 +15,17 @@ public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverC public static final ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs Empty = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs(); + /** + * Failover condition type-specific settings. See Failover Condition Settings for more details. + * + */ @Import(name="failoverConditionSettings") private @Nullable Output failoverConditionSettings; + /** + * @return Failover condition type-specific settings. See Failover Condition Settings for more details. + * + */ public Optional> failoverConditionSettings() { return Optional.ofNullable(this.failoverConditionSettings); } @@ -46,11 +54,23 @@ public Builder(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondi $ = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs(Objects.requireNonNull(defaults)); } + /** + * @param failoverConditionSettings Failover condition type-specific settings. See Failover Condition Settings for more details. + * + * @return builder + * + */ public Builder failoverConditionSettings(@Nullable Output failoverConditionSettings) { $.failoverConditionSettings = failoverConditionSettings; return this; } + /** + * @param failoverConditionSettings Failover condition type-specific settings. See Failover Condition Settings for more details. + * + * @return builder + * + */ public Builder failoverConditionSettings(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs failoverConditionSettings) { return failoverConditionSettings(Output.of(failoverConditionSettings)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.java index 9a07dda208f..24f71804a70 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs.java @@ -17,23 +17,47 @@ public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverC public static final ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs Empty = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs(); + /** + * MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + * + */ @Import(name="audioSilenceSettings") private @Nullable Output audioSilenceSettings; + /** + * @return MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + * + */ public Optional> audioSilenceSettings() { return Optional.ofNullable(this.audioSilenceSettings); } + /** + * MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + * + */ @Import(name="inputLossSettings") private @Nullable Output inputLossSettings; + /** + * @return MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + * + */ public Optional> inputLossSettings() { return Optional.ofNullable(this.inputLossSettings); } + /** + * MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + * + */ @Import(name="videoBlackSettings") private @Nullable Output videoBlackSettings; + /** + * @return MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + * + */ public Optional> videoBlackSettings() { return Optional.ofNullable(this.videoBlackSettings); } @@ -64,29 +88,65 @@ public Builder(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondi $ = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs(Objects.requireNonNull(defaults)); } + /** + * @param audioSilenceSettings MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + * + * @return builder + * + */ public Builder audioSilenceSettings(@Nullable Output audioSilenceSettings) { $.audioSilenceSettings = audioSilenceSettings; return this; } + /** + * @param audioSilenceSettings MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + * + * @return builder + * + */ public Builder audioSilenceSettings(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs audioSilenceSettings) { return audioSilenceSettings(Output.of(audioSilenceSettings)); } + /** + * @param inputLossSettings MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + * + * @return builder + * + */ public Builder inputLossSettings(@Nullable Output inputLossSettings) { $.inputLossSettings = inputLossSettings; return this; } + /** + * @param inputLossSettings MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + * + * @return builder + * + */ public Builder inputLossSettings(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs inputLossSettings) { return inputLossSettings(Output.of(inputLossSettings)); } + /** + * @param videoBlackSettings MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + * + * @return builder + * + */ public Builder videoBlackSettings(@Nullable Output videoBlackSettings) { $.videoBlackSettings = videoBlackSettings; return this; } + /** + * @param videoBlackSettings MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + * + * @return builder + * + */ public Builder videoBlackSettings(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs videoBlackSettings) { return videoBlackSettings(Output.of(videoBlackSettings)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.java index 0f3d143ae65..9f1f9ea5b1c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs.java @@ -17,23 +17,31 @@ public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverC public static final ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs Empty = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs(); /** - * The name of the audio selector used as the source for this AudioDescription. + * The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. * */ @Import(name="audioSelectorName", required=true) private Output audioSelectorName; /** - * @return The name of the audio selector used as the source for this AudioDescription. + * @return The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. * */ public Output audioSelectorName() { return this.audioSelectorName; } + /** + * The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + * + */ @Import(name="audioSilenceThresholdMsec") private @Nullable Output audioSilenceThresholdMsec; + /** + * @return The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + * + */ public Optional> audioSilenceThresholdMsec() { return Optional.ofNullable(this.audioSilenceThresholdMsec); } @@ -64,7 +72,7 @@ public Builder(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondi } /** - * @param audioSelectorName The name of the audio selector used as the source for this AudioDescription. + * @param audioSelectorName The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. * * @return builder * @@ -75,7 +83,7 @@ public Builder audioSelectorName(Output audioSelectorName) { } /** - * @param audioSelectorName The name of the audio selector used as the source for this AudioDescription. + * @param audioSelectorName The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. * * @return builder * @@ -84,11 +92,23 @@ public Builder audioSelectorName(String audioSelectorName) { return audioSelectorName(Output.of(audioSelectorName)); } + /** + * @param audioSilenceThresholdMsec The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + * + * @return builder + * + */ public Builder audioSilenceThresholdMsec(@Nullable Output audioSilenceThresholdMsec) { $.audioSilenceThresholdMsec = audioSilenceThresholdMsec; return this; } + /** + * @param audioSilenceThresholdMsec The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + * + * @return builder + * + */ public Builder audioSilenceThresholdMsec(Integer audioSilenceThresholdMsec) { return audioSilenceThresholdMsec(Output.of(audioSilenceThresholdMsec)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.java index 7cc91b0b0fe..fb053f84c47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs.java @@ -15,9 +15,17 @@ public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverC public static final ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs Empty = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs(); + /** + * The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + * + */ @Import(name="inputLossThresholdMsec") private @Nullable Output inputLossThresholdMsec; + /** + * @return The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + * + */ public Optional> inputLossThresholdMsec() { return Optional.ofNullable(this.inputLossThresholdMsec); } @@ -46,11 +54,23 @@ public Builder(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondi $ = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs(Objects.requireNonNull(defaults)); } + /** + * @param inputLossThresholdMsec The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + * + * @return builder + * + */ public Builder inputLossThresholdMsec(@Nullable Output inputLossThresholdMsec) { $.inputLossThresholdMsec = inputLossThresholdMsec; return this; } + /** + * @param inputLossThresholdMsec The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + * + * @return builder + * + */ public Builder inputLossThresholdMsec(Integer inputLossThresholdMsec) { return inputLossThresholdMsec(Output.of(inputLossThresholdMsec)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.java index d6eaabf6e94..20b9d54f8e8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/inputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs.java @@ -16,16 +16,32 @@ public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverC public static final ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs Empty = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs(); + /** + * A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + * + */ @Import(name="blackDetectThreshold") private @Nullable Output blackDetectThreshold; + /** + * @return A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + * + */ public Optional> blackDetectThreshold() { return Optional.ofNullable(this.blackDetectThreshold); } + /** + * The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + * + */ @Import(name="videoBlackThresholdMsec") private @Nullable Output videoBlackThresholdMsec; + /** + * @return The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + * + */ public Optional> videoBlackThresholdMsec() { return Optional.ofNullable(this.videoBlackThresholdMsec); } @@ -55,20 +71,44 @@ public Builder(ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondi $ = new ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs(Objects.requireNonNull(defaults)); } + /** + * @param blackDetectThreshold A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + * + * @return builder + * + */ public Builder blackDetectThreshold(@Nullable Output blackDetectThreshold) { $.blackDetectThreshold = blackDetectThreshold; return this; } + /** + * @param blackDetectThreshold A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + * + * @return builder + * + */ public Builder blackDetectThreshold(Double blackDetectThreshold) { return blackDetectThreshold(Output.of(blackDetectThreshold)); } + /** + * @param videoBlackThresholdMsec The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + * + * @return builder + * + */ public Builder videoBlackThresholdMsec(@Nullable Output videoBlackThresholdMsec) { $.videoBlackThresholdMsec = videoBlackThresholdMsec; return this; } + /** + * @param videoBlackThresholdMsec The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + * + * @return builder + * + */ public Builder videoBlackThresholdMsec(Integer videoBlackThresholdMsec) { return videoBlackThresholdMsec(Output.of(videoBlackThresholdMsec)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.java index e465097ba7d..08fe32d0fad 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelEncoderSettingsOutputGroupOutputOutputSettings.java @@ -42,7 +42,7 @@ public final class ChannelEncoderSettingsOutputGroupOutputOutputSettings { */ private @Nullable ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettings rtmpOutputSettings; /** - * @return UDP output settings. See UDP Output Settings for more details + * @return UDP output settings. See UDP Output Settings for more details. * */ private @Nullable ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings udpOutputSettings; @@ -86,7 +86,7 @@ public Optional udpOutputSettings() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachment.java index 204ee8094b1..2826867a796 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachment.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachment.java @@ -13,6 +13,10 @@ @CustomType public final class ChannelInputAttachment { + /** + * @return User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + * + */ private @Nullable ChannelInputAttachmentAutomaticInputFailoverSettings automaticInputFailoverSettings; /** * @return User-specified name for the attachment. @@ -25,12 +29,16 @@ public final class ChannelInputAttachment { */ private String inputId; /** - * @return Settings of an input. See Input Settings for more details + * @return Settings of an input. See Input Settings for more details. * */ private @Nullable ChannelInputAttachmentInputSettings inputSettings; private ChannelInputAttachment() {} + /** + * @return User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + * + */ public Optional automaticInputFailoverSettings() { return Optional.ofNullable(this.automaticInputFailoverSettings); } @@ -49,7 +57,7 @@ public String inputId() { return this.inputId; } /** - * @return Settings of an input. See Input Settings for more details + * @return Settings of an input. See Input Settings for more details. * */ public Optional inputSettings() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.java index 7ca4e7bc86c..f9a7a3016c0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettings.java @@ -14,21 +14,45 @@ @CustomType public final class ChannelInputAttachmentAutomaticInputFailoverSettings { + /** + * @return This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + * + */ private @Nullable Integer errorClearTimeMsec; private @Nullable List failoverConditions; + /** + * @return Input preference when deciding which input to make active when a previously failed input has recovered. + * + */ private @Nullable String inputPreference; + /** + * @return The input ID of the secondary input in the automatic input failover pair. + * + */ private String secondaryInputId; private ChannelInputAttachmentAutomaticInputFailoverSettings() {} + /** + * @return This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + * + */ public Optional errorClearTimeMsec() { return Optional.ofNullable(this.errorClearTimeMsec); } public List failoverConditions() { return this.failoverConditions == null ? List.of() : this.failoverConditions; } + /** + * @return Input preference when deciding which input to make active when a previously failed input has recovered. + * + */ public Optional inputPreference() { return Optional.ofNullable(this.inputPreference); } + /** + * @return The input ID of the secondary input in the automatic input failover pair. + * + */ public String secondaryInputId() { return this.secondaryInputId; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.java index 5de430f445c..1b72a1e566d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition.java @@ -11,9 +11,17 @@ @CustomType public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition { + /** + * @return Failover condition type-specific settings. See Failover Condition Settings for more details. + * + */ private @Nullable ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings failoverConditionSettings; private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition() {} + /** + * @return Failover condition type-specific settings. See Failover Condition Settings for more details. + * + */ public Optional failoverConditionSettings() { return Optional.ofNullable(this.failoverConditionSettings); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.java index cbee30a0100..03b007b7797 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings.java @@ -13,17 +13,41 @@ @CustomType public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings { + /** + * @return MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + * + */ private @Nullable ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings audioSilenceSettings; + /** + * @return MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + * + */ private @Nullable ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings inputLossSettings; + /** + * @return MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + * + */ private @Nullable ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings videoBlackSettings; private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings() {} + /** + * @return MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + * + */ public Optional audioSilenceSettings() { return Optional.ofNullable(this.audioSilenceSettings); } + /** + * @return MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + * + */ public Optional inputLossSettings() { return Optional.ofNullable(this.inputLossSettings); } + /** + * @return MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + * + */ public Optional videoBlackSettings() { return Optional.ofNullable(this.videoBlackSettings); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.java index d6788321467..8a51a8d362d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings.java @@ -13,20 +13,28 @@ @CustomType public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings { /** - * @return The name of the audio selector used as the source for this AudioDescription. + * @return The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. * */ private String audioSelectorName; + /** + * @return The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + * + */ private @Nullable Integer audioSilenceThresholdMsec; private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings() {} /** - * @return The name of the audio selector used as the source for this AudioDescription. + * @return The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. * */ public String audioSelectorName() { return this.audioSelectorName; } + /** + * @return The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + * + */ public Optional audioSilenceThresholdMsec() { return Optional.ofNullable(this.audioSilenceThresholdMsec); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.java index d9e9d88a25f..bb5f82c134a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings.java @@ -11,9 +11,17 @@ @CustomType public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings { + /** + * @return The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + * + */ private @Nullable Integer inputLossThresholdMsec; private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings() {} + /** + * @return The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + * + */ public Optional inputLossThresholdMsec() { return Optional.ofNullable(this.inputLossThresholdMsec); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.java b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.java index 815745e17dd..806c575151f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.java +++ b/sdk/java/src/main/java/com/pulumi/aws/medialive/outputs/ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings.java @@ -12,13 +12,29 @@ @CustomType public final class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings { + /** + * @return A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + * + */ private @Nullable Double blackDetectThreshold; + /** + * @return The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + * + */ private @Nullable Integer videoBlackThresholdMsec; private ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings() {} + /** + * @return A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + * + */ public Optional blackDetectThreshold() { return Optional.ofNullable(this.blackDetectThreshold); } + /** + * @return The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + * + */ public Optional videoBlackThresholdMsec() { return Optional.ofNullable(this.videoBlackThresholdMsec); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java index 3a63dd8a087..36d397b99f4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/Domain.java @@ -17,6 +17,7 @@ import com.pulumi.aws.opensearch.outputs.DomainNodeToNodeEncryption; import com.pulumi.aws.opensearch.outputs.DomainOffPeakWindowOptions; import com.pulumi.aws.opensearch.outputs.DomainSnapshotOptions; +import com.pulumi.aws.opensearch.outputs.DomainSoftwareUpdateOptions; import com.pulumi.aws.opensearch.outputs.DomainVpcOptions; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -741,6 +742,20 @@ public Output offPeakWindowOptions() { public Output> snapshotOptions() { return Codegen.optional(this.snapshotOptions); } + /** + * Software update options for the domain. Detailed below. + * + */ + @Export(name="softwareUpdateOptions", refs={DomainSoftwareUpdateOptions.class}, tree="[0]") + private Output softwareUpdateOptions; + + /** + * @return Software update options for the domain. Detailed below. + * + */ + public Output softwareUpdateOptions() { + return this.softwareUpdateOptions; + } /** * Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java index 5b1a428c3e0..01053da68ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/DomainArgs.java @@ -14,6 +14,7 @@ import com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs; import com.pulumi.aws.opensearch.inputs.DomainOffPeakWindowOptionsArgs; import com.pulumi.aws.opensearch.inputs.DomainSnapshotOptionsArgs; +import com.pulumi.aws.opensearch.inputs.DomainSoftwareUpdateOptionsArgs; import com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -262,6 +263,21 @@ public Optional> snapshotOptions() { return Optional.ofNullable(this.snapshotOptions); } + /** + * Software update options for the domain. Detailed below. + * + */ + @Import(name="softwareUpdateOptions") + private @Nullable Output softwareUpdateOptions; + + /** + * @return Software update options for the domain. Detailed below. + * + */ + public Optional> softwareUpdateOptions() { + return Optional.ofNullable(this.softwareUpdateOptions); + } + /** * 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. * @@ -310,6 +326,7 @@ private DomainArgs(DomainArgs $) { this.nodeToNodeEncryption = $.nodeToNodeEncryption; this.offPeakWindowOptions = $.offPeakWindowOptions; this.snapshotOptions = $.snapshotOptions; + this.softwareUpdateOptions = $.softwareUpdateOptions; this.tags = $.tags; this.vpcOptions = $.vpcOptions; } @@ -665,6 +682,27 @@ public Builder snapshotOptions(DomainSnapshotOptionsArgs snapshotOptions) { return snapshotOptions(Output.of(snapshotOptions)); } + /** + * @param softwareUpdateOptions Software update options for the domain. Detailed below. + * + * @return builder + * + */ + public Builder softwareUpdateOptions(@Nullable Output softwareUpdateOptions) { + $.softwareUpdateOptions = softwareUpdateOptions; + return this; + } + + /** + * @param softwareUpdateOptions Software update options for the domain. Detailed below. + * + * @return builder + * + */ + public Builder softwareUpdateOptions(DomainSoftwareUpdateOptionsArgs softwareUpdateOptions) { + return softwareUpdateOptions(Output.of(softwareUpdateOptions)); + } + /** * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainSoftwareUpdateOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainSoftwareUpdateOptionsArgs.java new file mode 100644 index 00000000000..3e5c5c8c813 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainSoftwareUpdateOptionsArgs.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.opensearch.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DomainSoftwareUpdateOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final DomainSoftwareUpdateOptionsArgs Empty = new DomainSoftwareUpdateOptionsArgs(); + + /** + * Whether automatic service software updates are enabled for the domain. Defaults to `false`. + * + */ + @Import(name="autoSoftwareUpdateEnabled") + private @Nullable Output autoSoftwareUpdateEnabled; + + /** + * @return Whether automatic service software updates are enabled for the domain. Defaults to `false`. + * + */ + public Optional> autoSoftwareUpdateEnabled() { + return Optional.ofNullable(this.autoSoftwareUpdateEnabled); + } + + private DomainSoftwareUpdateOptionsArgs() {} + + private DomainSoftwareUpdateOptionsArgs(DomainSoftwareUpdateOptionsArgs $) { + this.autoSoftwareUpdateEnabled = $.autoSoftwareUpdateEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DomainSoftwareUpdateOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DomainSoftwareUpdateOptionsArgs $; + + public Builder() { + $ = new DomainSoftwareUpdateOptionsArgs(); + } + + public Builder(DomainSoftwareUpdateOptionsArgs defaults) { + $ = new DomainSoftwareUpdateOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param autoSoftwareUpdateEnabled Whether automatic service software updates are enabled for the domain. Defaults to `false`. + * + * @return builder + * + */ + public Builder autoSoftwareUpdateEnabled(@Nullable Output autoSoftwareUpdateEnabled) { + $.autoSoftwareUpdateEnabled = autoSoftwareUpdateEnabled; + return this; + } + + /** + * @param autoSoftwareUpdateEnabled Whether automatic service software updates are enabled for the domain. Defaults to `false`. + * + * @return builder + * + */ + public Builder autoSoftwareUpdateEnabled(Boolean autoSoftwareUpdateEnabled) { + return autoSoftwareUpdateEnabled(Output.of(autoSoftwareUpdateEnabled)); + } + + public DomainSoftwareUpdateOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java index e1da4999842..2e060c017ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/inputs/DomainState.java @@ -14,6 +14,7 @@ import com.pulumi.aws.opensearch.inputs.DomainNodeToNodeEncryptionArgs; import com.pulumi.aws.opensearch.inputs.DomainOffPeakWindowOptionsArgs; import com.pulumi.aws.opensearch.inputs.DomainSnapshotOptionsArgs; +import com.pulumi.aws.opensearch.inputs.DomainSoftwareUpdateOptionsArgs; import com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -345,6 +346,21 @@ public Optional> snapshotOptions() { return Optional.ofNullable(this.snapshotOptions); } + /** + * Software update options for the domain. Detailed below. + * + */ + @Import(name="softwareUpdateOptions") + private @Nullable Output softwareUpdateOptions; + + /** + * @return Software update options for the domain. Detailed below. + * + */ + public Optional> softwareUpdateOptions() { + return Optional.ofNullable(this.softwareUpdateOptions); + } + /** * 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. * @@ -417,6 +433,7 @@ private DomainState(DomainState $) { this.nodeToNodeEncryption = $.nodeToNodeEncryption; this.offPeakWindowOptions = $.offPeakWindowOptions; this.snapshotOptions = $.snapshotOptions; + this.softwareUpdateOptions = $.softwareUpdateOptions; this.tags = $.tags; this.tagsAll = $.tagsAll; this.vpcOptions = $.vpcOptions; @@ -886,6 +903,27 @@ public Builder snapshotOptions(DomainSnapshotOptionsArgs snapshotOptions) { return snapshotOptions(Output.of(snapshotOptions)); } + /** + * @param softwareUpdateOptions Software update options for the domain. Detailed below. + * + * @return builder + * + */ + public Builder softwareUpdateOptions(@Nullable Output softwareUpdateOptions) { + $.softwareUpdateOptions = softwareUpdateOptions; + return this; + } + + /** + * @param softwareUpdateOptions Software update options for the domain. Detailed below. + * + * @return builder + * + */ + public Builder softwareUpdateOptions(DomainSoftwareUpdateOptionsArgs softwareUpdateOptions) { + return softwareUpdateOptions(Output.of(softwareUpdateOptions)); + } + /** * @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainSoftwareUpdateOptions.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainSoftwareUpdateOptions.java new file mode 100644 index 00000000000..b97b5102d25 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/DomainSoftwareUpdateOptions.java @@ -0,0 +1,56 @@ +// *** 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.opensearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class DomainSoftwareUpdateOptions { + /** + * @return Whether automatic service software updates are enabled for the domain. Defaults to `false`. + * + */ + private @Nullable Boolean autoSoftwareUpdateEnabled; + + private DomainSoftwareUpdateOptions() {} + /** + * @return Whether automatic service software updates are enabled for the domain. Defaults to `false`. + * + */ + public Optional autoSoftwareUpdateEnabled() { + return Optional.ofNullable(this.autoSoftwareUpdateEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DomainSoftwareUpdateOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean autoSoftwareUpdateEnabled; + public Builder() {} + public Builder(DomainSoftwareUpdateOptions defaults) { + Objects.requireNonNull(defaults); + this.autoSoftwareUpdateEnabled = defaults.autoSoftwareUpdateEnabled; + } + + @CustomType.Setter + public Builder autoSoftwareUpdateEnabled(@Nullable Boolean autoSoftwareUpdateEnabled) { + this.autoSoftwareUpdateEnabled = autoSoftwareUpdateEnabled; + return this; + } + public DomainSoftwareUpdateOptions build() { + final var o = new DomainSoftwareUpdateOptions(); + o.autoSoftwareUpdateEnabled = autoSoftwareUpdateEnabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java index feda2efa179..0ba8b5d6675 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainResult.java @@ -13,6 +13,7 @@ import com.pulumi.aws.opensearch.outputs.GetDomainNodeToNodeEncryption; import com.pulumi.aws.opensearch.outputs.GetDomainOffPeakWindowOptions; import com.pulumi.aws.opensearch.outputs.GetDomainSnapshotOption; +import com.pulumi.aws.opensearch.outputs.GetDomainSoftwareUpdateOption; import com.pulumi.aws.opensearch.outputs.GetDomainVpcOption; import com.pulumi.core.annotations.CustomType; import java.lang.Boolean; @@ -140,6 +141,11 @@ public final class GetDomainResult { * */ private List snapshotOptions; + /** + * @return Software update options for the domain + * + */ + private List softwareUpdateOptions; /** * @return Tags assigned to the domain. * @@ -313,6 +319,13 @@ public Boolean processing() { public List snapshotOptions() { return this.snapshotOptions; } + /** + * @return Software update options for the domain + * + */ + public List softwareUpdateOptions() { + return this.softwareUpdateOptions; + } /** * @return Tags assigned to the domain. * @@ -360,6 +373,7 @@ public static final class Builder { private @Nullable GetDomainOffPeakWindowOptions offPeakWindowOptions; private Boolean processing; private List snapshotOptions; + private List softwareUpdateOptions; private Map tags; private List vpcOptions; public Builder() {} @@ -388,6 +402,7 @@ public Builder(GetDomainResult defaults) { this.offPeakWindowOptions = defaults.offPeakWindowOptions; this.processing = defaults.processing; this.snapshotOptions = defaults.snapshotOptions; + this.softwareUpdateOptions = defaults.softwareUpdateOptions; this.tags = defaults.tags; this.vpcOptions = defaults.vpcOptions; } @@ -535,6 +550,14 @@ public Builder snapshotOptions(GetDomainSnapshotOption... snapshotOptions) { return snapshotOptions(List.of(snapshotOptions)); } @CustomType.Setter + public Builder softwareUpdateOptions(List softwareUpdateOptions) { + this.softwareUpdateOptions = Objects.requireNonNull(softwareUpdateOptions); + return this; + } + public Builder softwareUpdateOptions(GetDomainSoftwareUpdateOption... softwareUpdateOptions) { + return softwareUpdateOptions(List.of(softwareUpdateOptions)); + } + @CustomType.Setter public Builder tags(Map tags) { this.tags = Objects.requireNonNull(tags); return this; @@ -572,6 +595,7 @@ public GetDomainResult build() { o.offPeakWindowOptions = offPeakWindowOptions; o.processing = processing; o.snapshotOptions = snapshotOptions; + o.softwareUpdateOptions = softwareUpdateOptions; o.tags = tags; o.vpcOptions = vpcOptions; return o; diff --git a/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainSoftwareUpdateOption.java b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainSoftwareUpdateOption.java new file mode 100644 index 00000000000..578b3e65eff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/opensearch/outputs/GetDomainSoftwareUpdateOption.java @@ -0,0 +1,54 @@ +// *** 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.opensearch.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; + +@CustomType +public final class GetDomainSoftwareUpdateOption { + /** + * @return Enabled or disabled. + * + */ + private Boolean autoSoftwareUpdateEnabled; + + private GetDomainSoftwareUpdateOption() {} + /** + * @return Enabled or disabled. + * + */ + public Boolean autoSoftwareUpdateEnabled() { + return this.autoSoftwareUpdateEnabled; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetDomainSoftwareUpdateOption defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean autoSoftwareUpdateEnabled; + public Builder() {} + public Builder(GetDomainSoftwareUpdateOption defaults) { + Objects.requireNonNull(defaults); + this.autoSoftwareUpdateEnabled = defaults.autoSoftwareUpdateEnabled; + } + + @CustomType.Setter + public Builder autoSoftwareUpdateEnabled(Boolean autoSoftwareUpdateEnabled) { + this.autoSoftwareUpdateEnabled = Objects.requireNonNull(autoSoftwareUpdateEnabled); + return this; + } + public GetDomainSoftwareUpdateOption build() { + final var o = new GetDomainSoftwareUpdateOption(); + o.autoSoftwareUpdateEnabled = autoSoftwareUpdateEnabled; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java index 7adc3ac7f8a..bbcc8396f0e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AdmChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource. * + * > **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -57,11 +58,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id - * ``` + * to = aws_pinpoint_adm_channel.channel + * + * id = "application-id" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id * */ @ResourceType(type="aws:pinpoint/admChannel:AdmChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java index 35ae552942a..aeb1be0c491 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint APNs Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -56,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id - * ``` + * to = aws_pinpoint_apns_channel.apns + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id * */ @ResourceType(type="aws:pinpoint/apnsChannel:ApnsChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java index 42d278babd5..2968f83e8ea 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsSandboxChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint APNs Sandbox Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -56,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id - * ``` + * to = aws_pinpoint_apns_sandbox_channel.apns_sandbox + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id * */ @ResourceType(type="aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java index 550445f45a3..8c8c9ca2497 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint APNs VoIP Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -56,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id - * ``` + * to = aws_pinpoint_apns_voip_channel.apns_voip + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id * */ @ResourceType(type="aws:pinpoint/apnsVoipChannel:ApnsVoipChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java index 5a80d4b169d..b752289caba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/ApnsVoipSandboxChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint APNs VoIP Sandbox Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -56,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id - * ``` + * to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id * */ @ResourceType(type="aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java index 80e5c54e441..8c45678066e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/App.java @@ -61,11 +61,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint App using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/app:App name application-id - * ``` + * to = aws_pinpoint_app.name + * + * id = "application-id" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id * */ @ResourceType(type="aws:pinpoint/app:App") @@ -127,14 +127,14 @@ public Output> limits() { return Codegen.optional(this.limits); } /** - * The application name. By default generated by this provider + * The application name. By default generated by TODO * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return The application name. By default generated by this provider + * @return The application name. By default generated by TODO * */ public Output name() { @@ -169,14 +169,14 @@ public Output> quietTime() { return Codegen.optional(this.quietTime); } /** - * 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. + * 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. + * @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() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AppArgs.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AppArgs.java index 30e20d160e9..7870ddd8b13 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AppArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/AppArgs.java @@ -50,14 +50,14 @@ public Optional> limits() { } /** - * The application name. By default generated by this provider + * The application name. By default generated by TODO * */ @Import(name="name") private @Nullable Output name; /** - * @return The application name. By default generated by this provider + * @return The application name. By default generated by TODO * */ public Optional> name() { @@ -95,14 +95,14 @@ public Optional> quietTime() { } /** - * 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. + * 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. + * @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() { @@ -181,7 +181,7 @@ public Builder limits(AppLimitsArgs limits) { } /** - * @param name The application name. By default generated by this provider + * @param name The application name. By default generated by TODO * * @return builder * @@ -192,7 +192,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name The application name. By default generated by this provider + * @param name The application name. By default generated by TODO * * @return builder * @@ -244,7 +244,7 @@ public Builder quietTime(AppQuietTimeArgs quietTime) { } /** - * @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. + * @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 * @@ -255,7 +255,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java index 761805a363f..94170a736f5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/BaiduChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint Baidu Channel resource. * + * > **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -56,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id - * ``` + * to = aws_pinpoint_baidu_channel.channel + * + * id = "application-id" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id * */ @ResourceType(type="aws:pinpoint/baiduChannel:BaiduChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java index 6062d322907..08a86ea5d9b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EmailChannel.java @@ -98,11 +98,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id - * ``` + * to = aws_pinpoint_email_channel.email + * + * id = "application-id" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id * */ @ResourceType(type="aws:pinpoint/emailChannel:EmailChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java index 8f308e1d5c5..0dea9b83898 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/EventStream.java @@ -95,11 +95,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id - * ``` + * to = aws_pinpoint_event_stream.stream + * + * id = "application-id" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id * */ @ResourceType(type="aws:pinpoint/eventStream:EventStream") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java index 76dd465573d..7d395f856f9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/GcmChannel.java @@ -19,6 +19,7 @@ /** * Provides a Pinpoint GCM Channel resource. * + * > **Note:** Api Key argument will be stored in the raw state as plain-text. * ## Example Usage * ```java * package generated_program; @@ -55,11 +56,11 @@ * * ## Import * - * Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id - * ``` + * to = aws_pinpoint_gcm_channel.gcm + * + * id = "application-id" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id * */ @ResourceType(type="aws:pinpoint/gcmChannel:GcmChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java index 29433de59e3..d9afb9bf590 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/SmsChannel.java @@ -54,11 +54,11 @@ * * ## Import * - * Using `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id - * ``` + * to = aws_pinpoint_sms_channel.sms + * + * id = "application-id" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id * */ @ResourceType(type="aws:pinpoint/smsChannel:SmsChannel") diff --git a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/AppState.java b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/AppState.java index a0c5f0fab79..7797ba1ae47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/AppState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/pinpoint/inputs/AppState.java @@ -80,14 +80,14 @@ public Optional> limits() { } /** - * The application name. By default generated by this provider + * The application name. By default generated by TODO * */ @Import(name="name") private @Nullable Output name; /** - * @return The application name. By default generated by this provider + * @return The application name. By default generated by TODO * */ public Optional> name() { @@ -125,14 +125,14 @@ public Optional> quietTime() { } /** - * 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. + * 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. + * @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() { @@ -271,7 +271,7 @@ public Builder limits(AppLimitsArgs limits) { } /** - * @param name The application name. By default generated by this provider + * @param name The application name. By default generated by TODO * * @return builder * @@ -282,7 +282,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name The application name. By default generated by this provider + * @param name The application name. By default generated by TODO * * @return builder * @@ -334,7 +334,7 @@ public Builder quietTime(AppQuietTimeArgs quietTime) { } /** - * @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. + * @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 * @@ -345,7 +345,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java index 60dd9b2108d..96f3f11b7d6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/PrincipalAssociation.java @@ -96,11 +96,11 @@ * * ## Import * - * Using `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example: + * In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 - * ``` + * to = aws_ram_principal_association.example + * + * id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 * */ @ResourceType(type="aws:ram/principalAssociation:PrincipalAssociation") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java index 7872ce3cd68..46d8e7febde 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShare.java @@ -53,11 +53,11 @@ * * ## Import * - * Using `pulumi import`, import resource shares using the `arn` of the resource share. For example: + * In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 - * ``` + * to = aws_ram_resource_share.example + * + * id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 * */ @ResourceType(type="aws:ram/resourceShare:ResourceShare") diff --git a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java index 268767a8532..898984c1734 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ram/ResourceShareAccepter.java @@ -21,7 +21,7 @@ * * ## Example Usage * - * This configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`. + * This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`. * ```java * package generated_program; * @@ -82,11 +82,11 @@ * * ## Import * - * Using `pulumi import`, import resource share accepters using the resource share ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 - * ``` + * to = aws_ram_resource_share_accepter.example + * + * id = "arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 * */ @ResourceType(type="aws:ram/resourceShareAccepter:ResourceShareAccepter") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java index ad61f1dd7ce..f2689c8cee3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroup.java @@ -66,11 +66,11 @@ * * ## Import * - * Using `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example: + * In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1 - * ``` + * to = aws_rds_cluster_parameter_group.cluster_pg + * + * id = "production-pg-1" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 * */ @ResourceType(type="aws:rds/clusterParameterGroup:ClusterParameterGroup") @@ -90,14 +90,14 @@ public Output arn() { return this.arn; } /** - * The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * The description of the DB cluster parameter group. Defaults to "Managed by TODO". * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** - * @return The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @return The description of the DB cluster parameter group. Defaults to "Managed by TODO". * */ public Output description() { @@ -160,14 +160,14 @@ public Output>> parameters() { return Codegen.optional(this.parameters); } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroupArgs.java index 477603b545a..8c3b8ccc6a5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterParameterGroupArgs.java @@ -20,14 +20,14 @@ public final class ClusterParameterGroupArgs extends com.pulumi.resources.Resour public static final ClusterParameterGroupArgs Empty = new ClusterParameterGroupArgs(); /** - * The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * The description of the DB cluster parameter group. Defaults to "Managed by TODO". * */ @Import(name="description") private @Nullable Output description; /** - * @return The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @return The description of the DB cluster parameter group. Defaults to "Managed by TODO". * */ public Optional> description() { @@ -95,14 +95,14 @@ public Optional>> parameters() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -139,7 +139,7 @@ public Builder(ClusterParameterGroupArgs defaults) { } /** - * @param description The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @param description The description of the DB cluster parameter group. Defaults to "Managed by TODO". * * @return builder * @@ -150,7 +150,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @param description The description of the DB cluster parameter group. Defaults to "Managed by TODO". * * @return builder * @@ -254,7 +254,7 @@ public Builder parameters(ClusterParameterGroupParameterArgs... parameters) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -265,7 +265,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java index 5f5648f7d20..48e39e1d25d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java @@ -177,6 +177,67 @@ * } * } * ``` + * ### RDS Custom for SQL Server + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.RdsFunctions; + * import com.pulumi.aws.rds.inputs.GetOrderableDbInstanceArgs; + * import com.pulumi.aws.kms.KmsFunctions; + * import com.pulumi.aws.kms.inputs.GetKeyArgs; + * import com.pulumi.aws.rds.Instance; + * import com.pulumi.aws.rds.InstanceArgs; + * 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 custom-sqlserver = RdsFunctions.getOrderableDbInstance(GetOrderableDbInstanceArgs.builder() + * .engine("custom-sqlserver-se") + * .engineVersion("115.00.4249.2.cev1") + * .storageType("gp3") + * .preferredInstanceClasses( + * "db.r5.24xlarge", + * "db.r5.16xlarge", + * "db.r5.12xlarge") + * .build()); + * + * final var byId = KmsFunctions.getKey(GetKeyArgs.builder() + * .keyId("example-ef278353ceba4a5a97de6784565b9f78") + * .build()); + * + * var example = new Instance("example", InstanceArgs.builder() + * .allocatedStorage(500) + * .autoMinorVersionUpgrade(false) + * .customIamInstanceProfile("AWSRDSCustomSQLServerInstanceRole") + * .backupRetentionPeriod(7) + * .dbSubnetGroupName(local.db_subnet_group_name()) + * .engine(custom_sqlserver.engine()) + * .engineVersion(custom_sqlserver.engineVersion()) + * .identifier("sql-instance-demo") + * .instanceClass(custom_sqlserver.instanceClass()) + * .kmsKeyId(byId.applyValue(getKeyResult -> getKeyResult.arn())) + * .multiAz(false) + * .password("avoid-plaintext-passwords") + * .username("test") + * .timeouts(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) + * .build()); + * + * } + * } + * ``` * ### Storage Autoscaling * * To enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs. diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java index d92b3bb02e6..6d483cfcf77 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceAutomatedBackupsReplication.java @@ -149,11 +149,11 @@ * * ## Import * - * Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my - * ``` + * to = aws_db_instance_automated_backups_replication.default + * + * id = "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my * */ @ResourceType(type="aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication") diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterParameterGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterParameterGroupState.java index 9010dc1696a..7cab8b93810 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterParameterGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterParameterGroupState.java @@ -35,14 +35,14 @@ public Optional> arn() { } /** - * The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * The description of the DB cluster parameter group. Defaults to "Managed by TODO". * */ @Import(name="description") private @Nullable Output description; /** - * @return The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @return The description of the DB cluster parameter group. Defaults to "Managed by TODO". * */ public Optional> description() { @@ -110,14 +110,14 @@ public Optional>> parameters() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -192,7 +192,7 @@ public Builder arn(String arn) { } /** - * @param description The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @param description The description of the DB cluster parameter group. Defaults to "Managed by TODO". * * @return builder * @@ -203,7 +203,7 @@ public Builder description(@Nullable Output description) { } /** - * @param description The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * @param description The description of the DB cluster parameter group. Defaults to "Managed by TODO". * * @return builder * @@ -307,7 +307,7 @@ public Builder parameters(ClusterParameterGroupParameterArgs... parameters) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -318,7 +318,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java index 596b332d302..ea164268cce 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallConfig.java @@ -57,11 +57,11 @@ * * ## Import * - * Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95 - * ``` + * to = aws_route53_resolver_firewall_config.example + * + * id = "rdsc-be1866ecc1683e95" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 * */ @ResourceType(type="aws:route53/resolverFirewallConfig:ResolverFirewallConfig") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java index 69cd5219bb0..6438aaeb2f5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainList.java @@ -48,13 +48,15 @@ * * ## Import * - * Using `pulumi import`, import + * In TODO v1.5.0 and later, use an `import` block to import * - * Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example: + * Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_domain_list.example + * + * id = "rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + * + * Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef * */ @ResourceType(type="aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList") @@ -102,14 +104,14 @@ public Output name() { return this.name; } /** - * 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. + * A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainListArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainListArgs.java index f9b24bd226b..ecd9d0bb83f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainListArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallDomainListArgs.java @@ -48,14 +48,14 @@ public Optional> name() { } /** - * 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. + * A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -141,7 +141,7 @@ public Builder name(String name) { } /** - * @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. + * @param tags A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -152,7 +152,7 @@ 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. + * @param tags A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java index d7d28f72798..5f3e61042ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRule.java @@ -70,13 +70,15 @@ * * ## Import * - * Using `pulumi import`, import + * In TODO v1.5.0 and later, use an `import` block to import * - * Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example: + * Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_rule.example + * + * id = "rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + * + * Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef * */ @ResourceType(type="aws:route53/resolverFirewallRule:ResolverFirewallRule") diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java index bfcdaf2997a..c1ff5444410 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroup.java @@ -47,13 +47,15 @@ * * ## Import * - * Using `pulumi import`, import + * In TODO v1.5.0 and later, use an `import` block to import * - * Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example: + * Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_rule_group.example + * + * id = "rslvr-frg-0123456789abcdef" } Using `TODO import`, import + * + * Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef * */ @ResourceType(type="aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup") @@ -115,14 +117,14 @@ public Output shareStatus() { return this.shareStatus; } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Output>> tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupArgs.java index 92bf4b2c22f..ec78a1f699e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupArgs.java @@ -32,14 +32,14 @@ public Optional> name() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -93,7 +93,7 @@ public Builder name(String name) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -104,7 +104,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java index f65e95085f7..0d3ecc8c81c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociation.java @@ -56,11 +56,11 @@ * * ## Import * - * Using `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_rule_group_association.example + * + * id = "rslvr-frgassoc-0123456789abcdef" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef * */ @ResourceType(type="aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation") @@ -136,14 +136,14 @@ public Output priority() { return this.priority; } /** - * 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. + * 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. + * @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() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociationArgs.java index 3e455ce45da..a7bf6e72ebc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ResolverFirewallRuleGroupAssociationArgs.java @@ -78,14 +78,14 @@ public Output priority() { } /** - * 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. + * 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. + * @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() { @@ -221,7 +221,7 @@ public Builder priority(Integer priority) { } /** - * @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. + * @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 * @@ -232,7 +232,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallDomainListState.java b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallDomainListState.java index 1b2b137a6cd..ea9bb0f7994 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallDomainListState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallDomainListState.java @@ -63,14 +63,14 @@ public Optional> name() { } /** - * 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. + * A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -194,7 +194,7 @@ public Builder name(String name) { } /** - * @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. + * @param tags A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -205,7 +205,7 @@ 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. + * @param tags A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupAssociationState.java index 06645ac47c2..74b3c931283 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupAssociationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupAssociationState.java @@ -93,14 +93,14 @@ public Optional> priority() { } /** - * 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. + * 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. + * @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() { @@ -274,7 +274,7 @@ public Builder priority(Integer priority) { } /** - * @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. + * @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 * @@ -285,7 +285,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @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. + * @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 * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupState.java index 5d902985b2a..470221df1ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/inputs/ResolverFirewallRuleGroupState.java @@ -77,14 +77,14 @@ public Optional> shareStatus() { } /** - * 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. + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * */ public Optional>> tags() { @@ -220,7 +220,7 @@ public Builder shareStatus(String shareStatus) { } /** - * @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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * @@ -231,7 +231,7 @@ 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. + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsArgs.java index d0838375494..06e0d4f302c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsArgs.java @@ -107,6 +107,21 @@ public Optional> prefix() { return Optional.ofNullable(this.prefix); } + /** + * Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + */ + @Import(name="requestPayer") + private @Nullable Output requestPayer; + + /** + * @return Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + */ + public Optional> requestPayer() { + return Optional.ofNullable(this.requestPayer); + } + /** * Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) * @@ -131,6 +146,7 @@ private GetObjectsArgs(GetObjectsArgs $) { this.fetchOwner = $.fetchOwner; this.maxKeys = $.maxKeys; this.prefix = $.prefix; + this.requestPayer = $.requestPayer; this.startAfter = $.startAfter; } @@ -278,6 +294,27 @@ public Builder prefix(String prefix) { return prefix(Output.of(prefix)); } + /** + * @param requestPayer Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + * @return builder + * + */ + public Builder requestPayer(@Nullable Output requestPayer) { + $.requestPayer = requestPayer; + return this; + } + + /** + * @param requestPayer Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + * @return builder + * + */ + public Builder requestPayer(String requestPayer) { + return requestPayer(Output.of(requestPayer)); + } + /** * @param startAfter Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsPlainArgs.java index ccff1f97497..26ab7189a79 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/inputs/GetObjectsPlainArgs.java @@ -106,6 +106,21 @@ public Optional prefix() { return Optional.ofNullable(this.prefix); } + /** + * Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + */ + @Import(name="requestPayer") + private @Nullable String requestPayer; + + /** + * @return Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + */ + public Optional requestPayer() { + return Optional.ofNullable(this.requestPayer); + } + /** * Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) * @@ -130,6 +145,7 @@ private GetObjectsPlainArgs(GetObjectsPlainArgs $) { this.fetchOwner = $.fetchOwner; this.maxKeys = $.maxKeys; this.prefix = $.prefix; + this.requestPayer = $.requestPayer; this.startAfter = $.startAfter; } @@ -217,6 +233,17 @@ public Builder prefix(@Nullable String prefix) { return this; } + /** + * @param requestPayer Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + * + * @return builder + * + */ + public Builder requestPayer(@Nullable String requestPayer) { + $.requestPayer = requestPayer; + return this; + } + /** * @param startAfter Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/GetObjectsResult.java b/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/GetObjectsResult.java index 3c612b3b200..74b4d618d27 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/GetObjectsResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/outputs/GetObjectsResult.java @@ -40,6 +40,12 @@ public final class GetObjectsResult { */ private List owners; private @Nullable String prefix; + /** + * @return If present, indicates that the requester was successfully charged for the request. + * + */ + private String requestCharged; + private @Nullable String requestPayer; private @Nullable String startAfter; private GetObjectsResult() {} @@ -89,6 +95,16 @@ public List owners() { public Optional prefix() { return Optional.ofNullable(this.prefix); } + /** + * @return If present, indicates that the requester was successfully charged for the request. + * + */ + public String requestCharged() { + return this.requestCharged; + } + public Optional requestPayer() { + return Optional.ofNullable(this.requestPayer); + } public Optional startAfter() { return Optional.ofNullable(this.startAfter); } @@ -112,6 +128,8 @@ public static final class Builder { private @Nullable Integer maxKeys; private List owners; private @Nullable String prefix; + private String requestCharged; + private @Nullable String requestPayer; private @Nullable String startAfter; public Builder() {} public Builder(GetObjectsResult defaults) { @@ -126,6 +144,8 @@ public Builder(GetObjectsResult defaults) { this.maxKeys = defaults.maxKeys; this.owners = defaults.owners; this.prefix = defaults.prefix; + this.requestCharged = defaults.requestCharged; + this.requestPayer = defaults.requestPayer; this.startAfter = defaults.startAfter; } @@ -189,6 +209,16 @@ public Builder prefix(@Nullable String prefix) { return this; } @CustomType.Setter + public Builder requestCharged(String requestCharged) { + this.requestCharged = Objects.requireNonNull(requestCharged); + return this; + } + @CustomType.Setter + public Builder requestPayer(@Nullable String requestPayer) { + this.requestPayer = requestPayer; + return this; + } + @CustomType.Setter public Builder startAfter(@Nullable String startAfter) { this.startAfter = startAfter; return this; @@ -205,6 +235,8 @@ public GetObjectsResult build() { o.maxKeys = maxKeys; o.owners = owners; o.prefix = prefix; + o.requestCharged = requestCharged; + o.requestPayer = requestPayer; o.startAfter = startAfter; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java index 3fb150994a4..15e5c1659b8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/ObjectLambdaAccessPoint.java @@ -93,6 +93,20 @@ public class ObjectLambdaAccessPoint extends com.pulumi.resources.CustomResource public Output accountId() { return this.accountId; } + /** + * Alias for the S3 Object Lambda Access Point. + * + */ + @Export(name="alias", refs={String.class}, tree="[0]") + private Output alias; + + /** + * @return Alias for the S3 Object Lambda Access Point. + * + */ + public Output alias() { + return this.alias; + } /** * Amazon Resource Name (ARN) of the Object Lambda Access Point. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/ObjectLambdaAccessPointState.java b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/ObjectLambdaAccessPointState.java index 600d8b90758..e686597f03d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/ObjectLambdaAccessPointState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3control/inputs/ObjectLambdaAccessPointState.java @@ -31,6 +31,21 @@ public Optional> accountId() { return Optional.ofNullable(this.accountId); } + /** + * Alias for the S3 Object Lambda Access Point. + * + */ + @Import(name="alias") + private @Nullable Output alias; + + /** + * @return Alias for the S3 Object Lambda Access Point. + * + */ + public Optional> alias() { + return Optional.ofNullable(this.alias); + } + /** * Amazon Resource Name (ARN) of the Object Lambda Access Point. * @@ -80,6 +95,7 @@ private ObjectLambdaAccessPointState() {} private ObjectLambdaAccessPointState(ObjectLambdaAccessPointState $) { this.accountId = $.accountId; + this.alias = $.alias; this.arn = $.arn; this.configuration = $.configuration; this.name = $.name; @@ -124,6 +140,27 @@ public Builder accountId(String accountId) { return accountId(Output.of(accountId)); } + /** + * @param alias Alias for the S3 Object Lambda Access Point. + * + * @return builder + * + */ + public Builder alias(@Nullable Output alias) { + $.alias = alias; + return this; + } + + /** + * @param alias Alias for the S3 Object Lambda Access Point. + * + * @return builder + * + */ + public Builder alias(String alias) { + return alias(Output.of(alias)); + } + /** * @param arn Amazon Resource Name (ARN) of the Object Lambda Access Point. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Account.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Account.java index a6274006ae7..dc0b9f5496e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Account.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Account.java @@ -49,11 +49,11 @@ * * ## Import * - * Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/account:Account example 123456789012 - * ``` + * to = aws_securityhub_account.example + * + * id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 * */ @ResourceType(type="aws:securityhub/account:Account") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java index d2125f13b70..bfc1484998d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/FindingAggregator.java @@ -139,11 +139,11 @@ * * ## Import * - * Using `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 - * ``` + * to = aws_securityhub_finding_aggregator.example + * + * id = "arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 * */ @ResourceType(type="aws:securityhub/findingAggregator:FindingAggregator") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java index 78b4f87e7b7..bc1eb77c223 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/InviteAccepter.java @@ -70,11 +70,11 @@ * * ## Import * - * Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012 - * ``` + * to = aws_securityhub_invite_accepter.example + * + * id = "123456789012" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 * */ @ResourceType(type="aws:securityhub/inviteAccepter:InviteAccepter") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java index f7fd581b18c..e0e9e720cfb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/Member.java @@ -58,11 +58,11 @@ * * ## Import * - * Using `pulumi import`, import Security Hub members using their account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/member:Member example 123456789012 - * ``` + * to = aws_securityhub_member.example + * + * id = "123456789012" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 * */ @ResourceType(type="aws:securityhub/member:Member") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java index 31425da2009..6d4af3625ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/OrganizationConfiguration.java @@ -17,9 +17,9 @@ /** * Manages the Security Hub Organization Configuration. * - * > **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation + * > **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation * - * > **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration. + * > **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration. * * ## Example Usage * ```java @@ -69,11 +69,11 @@ * * ## Import * - * Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012 - * ``` + * to = aws_securityhub_organization_configuration.example + * + * id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 * */ @ResourceType(type="aws:securityhub/organizationConfiguration:OrganizationConfiguration") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java index 6bdbec307f2..4226e89a4e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/ProductSubscription.java @@ -58,11 +58,11 @@ * * ## Import * - * Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement - * ``` + * to = aws_securityhub_product_subscription.example + * + * id = "arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement * */ @ResourceType(type="aws:securityhub/productSubscription:ProductSubscription") diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java index 118edd950e7..369ae52b698 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsControl.java @@ -18,8 +18,8 @@ * Disable/enable Security Hub standards control in the current region. * * The `aws.securityhub.StandardsControl` behaves differently from normal resources, in that - * The provider does not _create_ this resource, but instead "adopts" it - * into management. When you _delete_ this resource configuration, the provider "abandons" resource as is and just removes it from the state. + * TODO does not _create_ this resource, but instead "adopts" it + * into management. When you _delete_ this resource configuration, TODO "abandons" resource as is and just removes it from the state. * * ## Example Usage * ```java diff --git a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java index 7fff07dd6cd..8b5aa593d3a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java +++ b/sdk/java/src/main/java/com/pulumi/aws/securityhub/StandardsSubscription.java @@ -64,17 +64,19 @@ * * ## Import * - * Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 - * ``` - * ```sh - * $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 - * ``` - * ```sh - * $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 - * ``` + * to = aws_securityhub_standards_subscription.cis + * + * id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" } terraform import { + * + * to = aws_securityhub_standards_subscription.pci_321 + * + * id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" } terraform import { + * + * to = aws_securityhub_standards_subscription.nist_800_53_rev_5 + * + * id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 * */ @ResourceType(type="aws:securityhub/standardsSubscription:StandardsSubscription") diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java index 99e8584f690..891a062f2cc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociation.java @@ -51,10 +51,12 @@ * * ## Import * - * Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: + * + * Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: * * ```sh - * $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f + * $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM * ``` * */ @@ -107,14 +109,14 @@ public Output principalArn() { return this.principalArn; } /** - * Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * */ @Export(name="principalType", refs={String.class}, tree="[0]") private Output principalType; /** - * @return Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @return Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * */ public Output> principalType() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociationArgs.java index f8a687af014..326d55a5500 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PrincipalPortfolioAssociationArgs.java @@ -65,14 +65,14 @@ public Output principalArn() { } /** - * Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * */ @Import(name="principalType") private @Nullable Output principalType; /** - * @return Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @return Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * */ public Optional> principalType() { @@ -174,7 +174,7 @@ public Builder principalArn(String principalArn) { } /** - * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * * @return builder * @@ -185,7 +185,7 @@ public Builder principalType(@Nullable Output principalType) { } /** - * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/PrincipalPortfolioAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/PrincipalPortfolioAssociationState.java index 06604c2ead0..76ae9875ee8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/PrincipalPortfolioAssociationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/inputs/PrincipalPortfolioAssociationState.java @@ -65,14 +65,14 @@ public Optional> principalArn() { } /** - * Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * */ @Import(name="principalType") private @Nullable Output principalType; /** - * @return Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @return Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * */ public Optional> principalType() { @@ -174,7 +174,7 @@ public Builder principalArn(String principalArn) { } /** - * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * * @return builder * @@ -185,7 +185,7 @@ public Builder principalType(@Nullable Output principalType) { } /** - * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * @param principalType Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java b/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java index bdee054e644..3beb983a396 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ses/IdentityNotificationTopic.java @@ -53,11 +53,11 @@ * * ## Import * - * Using `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example: + * In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce' - * ``` + * to = aws_ses_identity_notification_topic.test + * + * id = "example.com|Bounce" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' * */ @ResourceType(type="aws:ses/identityNotificationTopic:IdentityNotificationTopic") diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java new file mode 100644 index 00000000000..c5e2489dfe4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociation.java @@ -0,0 +1,145 @@ +// *** 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.shield; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.shield.DrtAccessLogBucketAssociationArgs; +import com.pulumi.aws.shield.inputs.DrtAccessLogBucketAssociationState; +import com.pulumi.aws.shield.outputs.DrtAccessLogBucketAssociationTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT). + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.shield.DrtAccessRoleArnAssociation; + * import com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs; + * import com.pulumi.aws.shield.DrtAccessLogBucketAssociation; + * import com.pulumi.aws.shield.DrtAccessLogBucketAssociationArgs; + * 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 testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() + * .roleArn(String.format("arn:aws:iam:%s:%s:%s", data.aws_region().current().name(),data.aws_caller_identity().current().account_id(),var_.shield_drt_access_role_name())) + * .build()); + * + * var testDrtAccessLogBucketAssociation = new DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", DrtAccessLogBucketAssociationArgs.builder() + * .logBucket(var_.shield_drt_access_log_bucket()) + * .roleArnAssociationId(testDrtAccessRoleArnAssociation.id()) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation") +public class DrtAccessLogBucketAssociation extends com.pulumi.resources.CustomResource { + /** + * The Amazon S3 bucket that contains the logs that you want to share. + * + */ + @Export(name="logBucket", refs={String.class}, tree="[0]") + private Output logBucket; + + /** + * @return The Amazon S3 bucket that contains the logs that you want to share. + * + */ + public Output logBucket() { + return this.logBucket; + } + /** + * The ID of the Role Arn association used for allowing Shield DRT Access. + * + */ + @Export(name="roleArnAssociationId", refs={String.class}, tree="[0]") + private Output roleArnAssociationId; + + /** + * @return The ID of the Role Arn association used for allowing Shield DRT Access. + * + */ + public Output roleArnAssociationId() { + return this.roleArnAssociationId; + } + @Export(name="timeouts", refs={DrtAccessLogBucketAssociationTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public DrtAccessLogBucketAssociation(String name) { + this(name, DrtAccessLogBucketAssociationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public DrtAccessLogBucketAssociation(String name, DrtAccessLogBucketAssociationArgs 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 DrtAccessLogBucketAssociation(String name, DrtAccessLogBucketAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", name, args == null ? DrtAccessLogBucketAssociationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private DrtAccessLogBucketAssociation(String name, Output id, @Nullable DrtAccessLogBucketAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static DrtAccessLogBucketAssociation get(String name, Output id, @Nullable DrtAccessLogBucketAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new DrtAccessLogBucketAssociation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociationArgs.java new file mode 100644 index 00000000000..05e52e4d4f0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessLogBucketAssociationArgs.java @@ -0,0 +1,140 @@ +// *** 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.shield; + +import com.pulumi.aws.shield.inputs.DrtAccessLogBucketAssociationTimeoutsArgs; +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 DrtAccessLogBucketAssociationArgs extends com.pulumi.resources.ResourceArgs { + + public static final DrtAccessLogBucketAssociationArgs Empty = new DrtAccessLogBucketAssociationArgs(); + + /** + * The Amazon S3 bucket that contains the logs that you want to share. + * + */ + @Import(name="logBucket", required=true) + private Output logBucket; + + /** + * @return The Amazon S3 bucket that contains the logs that you want to share. + * + */ + public Output logBucket() { + return this.logBucket; + } + + /** + * The ID of the Role Arn association used for allowing Shield DRT Access. + * + */ + @Import(name="roleArnAssociationId", required=true) + private Output roleArnAssociationId; + + /** + * @return The ID of the Role Arn association used for allowing Shield DRT Access. + * + */ + public Output roleArnAssociationId() { + return this.roleArnAssociationId; + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private DrtAccessLogBucketAssociationArgs() {} + + private DrtAccessLogBucketAssociationArgs(DrtAccessLogBucketAssociationArgs $) { + this.logBucket = $.logBucket; + this.roleArnAssociationId = $.roleArnAssociationId; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DrtAccessLogBucketAssociationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DrtAccessLogBucketAssociationArgs $; + + public Builder() { + $ = new DrtAccessLogBucketAssociationArgs(); + } + + public Builder(DrtAccessLogBucketAssociationArgs defaults) { + $ = new DrtAccessLogBucketAssociationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param logBucket The Amazon S3 bucket that contains the logs that you want to share. + * + * @return builder + * + */ + public Builder logBucket(Output logBucket) { + $.logBucket = logBucket; + return this; + } + + /** + * @param logBucket The Amazon S3 bucket that contains the logs that you want to share. + * + * @return builder + * + */ + public Builder logBucket(String logBucket) { + return logBucket(Output.of(logBucket)); + } + + /** + * @param roleArnAssociationId The ID of the Role Arn association used for allowing Shield DRT Access. + * + * @return builder + * + */ + public Builder roleArnAssociationId(Output roleArnAssociationId) { + $.roleArnAssociationId = roleArnAssociationId; + return this; + } + + /** + * @param roleArnAssociationId The ID of the Role Arn association used for allowing Shield DRT Access. + * + * @return builder + * + */ + public Builder roleArnAssociationId(String roleArnAssociationId) { + return roleArnAssociationId(Output.of(roleArnAssociationId)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(DrtAccessLogBucketAssociationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public DrtAccessLogBucketAssociationArgs build() { + $.logBucket = Objects.requireNonNull($.logBucket, "expected parameter 'logBucket' to be non-null"); + $.roleArnAssociationId = Objects.requireNonNull($.roleArnAssociationId, "expected parameter 'roleArnAssociationId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java new file mode 100644 index 00000000000..3d57d354dbe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociation.java @@ -0,0 +1,149 @@ +// *** 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.shield; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs; +import com.pulumi.aws.shield.inputs.DrtAccessRoleArnAssociationState; +import com.pulumi.aws.shield.outputs.DrtAccessRoleArnAssociationTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html) + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.RolePolicyAttachment; + * import com.pulumi.aws.iam.RolePolicyAttachmentArgs; + * import com.pulumi.aws.shield.DrtAccessRoleArnAssociation; + * import com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs; + * import static com.pulumi.codegen.internal.Serialization.*; + * 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 testRole = new Role("testRole", RoleArgs.builder() + * .assumeRolePolicy(serializeJson( + * jsonObject( + * jsonProperty("Version", "2012-10-17"), + * jsonProperty("Statement", jsonArray(jsonObject( + * jsonProperty("Sid", ""), + * jsonProperty("Effect", "Allow"), + * jsonProperty("Principal", jsonObject( + * jsonProperty("Service", "drt.shield.amazonaws.com") + * )), + * jsonProperty("Action", "sts:AssumeRole") + * ))) + * ))) + * .build()); + * + * var testRolePolicyAttachment = new RolePolicyAttachment("testRolePolicyAttachment", RolePolicyAttachmentArgs.builder() + * .role(testRole.name()) + * .policyArn("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy") + * .build()); + * + * var testDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() + * .roleArn(testRole.arn()) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation") +public class DrtAccessRoleArnAssociation extends com.pulumi.resources.CustomResource { + /** + * The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + */ + @Export(name="roleArn", refs={String.class}, tree="[0]") + private Output roleArn; + + /** + * @return The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + */ + public Output roleArn() { + return this.roleArn; + } + @Export(name="timeouts", refs={DrtAccessRoleArnAssociationTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public DrtAccessRoleArnAssociation(String name) { + this(name, DrtAccessRoleArnAssociationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public DrtAccessRoleArnAssociation(String name, DrtAccessRoleArnAssociationArgs 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 DrtAccessRoleArnAssociation(String name, DrtAccessRoleArnAssociationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", name, args == null ? DrtAccessRoleArnAssociationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private DrtAccessRoleArnAssociation(String name, Output id, @Nullable DrtAccessRoleArnAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static DrtAccessRoleArnAssociation get(String name, Output id, @Nullable DrtAccessRoleArnAssociationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new DrtAccessRoleArnAssociation(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociationArgs.java new file mode 100644 index 00000000000..037ec764146 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/DrtAccessRoleArnAssociationArgs.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.shield; + +import com.pulumi.aws.shield.inputs.DrtAccessRoleArnAssociationTimeoutsArgs; +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 DrtAccessRoleArnAssociationArgs extends com.pulumi.resources.ResourceArgs { + + public static final DrtAccessRoleArnAssociationArgs Empty = new DrtAccessRoleArnAssociationArgs(); + + /** + * The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + */ + @Import(name="roleArn", required=true) + private Output roleArn; + + /** + * @return The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + */ + public Output roleArn() { + return this.roleArn; + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private DrtAccessRoleArnAssociationArgs() {} + + private DrtAccessRoleArnAssociationArgs(DrtAccessRoleArnAssociationArgs $) { + this.roleArn = $.roleArn; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DrtAccessRoleArnAssociationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DrtAccessRoleArnAssociationArgs $; + + public Builder() { + $ = new DrtAccessRoleArnAssociationArgs(); + } + + public Builder(DrtAccessRoleArnAssociationArgs defaults) { + $ = new DrtAccessRoleArnAssociationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param roleArn The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + * @return builder + * + */ + public Builder roleArn(Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(DrtAccessRoleArnAssociationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public DrtAccessRoleArnAssociationArgs build() { + $.roleArn = Objects.requireNonNull($.roleArn, "expected parameter 'roleArn' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessLogBucketAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessLogBucketAssociationState.java new file mode 100644 index 00000000000..8df0fe9388a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessLogBucketAssociationState.java @@ -0,0 +1,138 @@ +// *** 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.shield.inputs; + +import com.pulumi.aws.shield.inputs.DrtAccessLogBucketAssociationTimeoutsArgs; +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 DrtAccessLogBucketAssociationState extends com.pulumi.resources.ResourceArgs { + + public static final DrtAccessLogBucketAssociationState Empty = new DrtAccessLogBucketAssociationState(); + + /** + * The Amazon S3 bucket that contains the logs that you want to share. + * + */ + @Import(name="logBucket") + private @Nullable Output logBucket; + + /** + * @return The Amazon S3 bucket that contains the logs that you want to share. + * + */ + public Optional> logBucket() { + return Optional.ofNullable(this.logBucket); + } + + /** + * The ID of the Role Arn association used for allowing Shield DRT Access. + * + */ + @Import(name="roleArnAssociationId") + private @Nullable Output roleArnAssociationId; + + /** + * @return The ID of the Role Arn association used for allowing Shield DRT Access. + * + */ + public Optional> roleArnAssociationId() { + return Optional.ofNullable(this.roleArnAssociationId); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private DrtAccessLogBucketAssociationState() {} + + private DrtAccessLogBucketAssociationState(DrtAccessLogBucketAssociationState $) { + this.logBucket = $.logBucket; + this.roleArnAssociationId = $.roleArnAssociationId; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DrtAccessLogBucketAssociationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DrtAccessLogBucketAssociationState $; + + public Builder() { + $ = new DrtAccessLogBucketAssociationState(); + } + + public Builder(DrtAccessLogBucketAssociationState defaults) { + $ = new DrtAccessLogBucketAssociationState(Objects.requireNonNull(defaults)); + } + + /** + * @param logBucket The Amazon S3 bucket that contains the logs that you want to share. + * + * @return builder + * + */ + public Builder logBucket(@Nullable Output logBucket) { + $.logBucket = logBucket; + return this; + } + + /** + * @param logBucket The Amazon S3 bucket that contains the logs that you want to share. + * + * @return builder + * + */ + public Builder logBucket(String logBucket) { + return logBucket(Output.of(logBucket)); + } + + /** + * @param roleArnAssociationId The ID of the Role Arn association used for allowing Shield DRT Access. + * + * @return builder + * + */ + public Builder roleArnAssociationId(@Nullable Output roleArnAssociationId) { + $.roleArnAssociationId = roleArnAssociationId; + return this; + } + + /** + * @param roleArnAssociationId The ID of the Role Arn association used for allowing Shield DRT Access. + * + * @return builder + * + */ + public Builder roleArnAssociationId(String roleArnAssociationId) { + return roleArnAssociationId(Output.of(roleArnAssociationId)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(DrtAccessLogBucketAssociationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public DrtAccessLogBucketAssociationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessLogBucketAssociationTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessLogBucketAssociationTimeoutsArgs.java new file mode 100644 index 00000000000..e074fea59bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessLogBucketAssociationTimeoutsArgs.java @@ -0,0 +1,97 @@ +// *** 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.shield.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 DrtAccessLogBucketAssociationTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final DrtAccessLogBucketAssociationTimeoutsArgs Empty = new DrtAccessLogBucketAssociationTimeoutsArgs(); + + @Import(name="create") + private @Nullable Output create; + + public Optional> create() { + return Optional.ofNullable(this.create); + } + + @Import(name="delete") + private @Nullable Output delete; + + public Optional> delete() { + return Optional.ofNullable(this.delete); + } + + @Import(name="read") + private @Nullable Output read; + + public Optional> read() { + return Optional.ofNullable(this.read); + } + + private DrtAccessLogBucketAssociationTimeoutsArgs() {} + + private DrtAccessLogBucketAssociationTimeoutsArgs(DrtAccessLogBucketAssociationTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.read = $.read; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DrtAccessLogBucketAssociationTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DrtAccessLogBucketAssociationTimeoutsArgs $; + + public Builder() { + $ = new DrtAccessLogBucketAssociationTimeoutsArgs(); + } + + public Builder(DrtAccessLogBucketAssociationTimeoutsArgs defaults) { + $ = new DrtAccessLogBucketAssociationTimeoutsArgs(Objects.requireNonNull(defaults)); + } + + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + public Builder create(String create) { + return create(Output.of(create)); + } + + public Builder delete(@Nullable Output delete) { + $.delete = delete; + return this; + } + + public Builder delete(String delete) { + return delete(Output.of(delete)); + } + + public Builder read(@Nullable Output read) { + $.read = read; + return this; + } + + public Builder read(String read) { + return read(Output.of(read)); + } + + public DrtAccessLogBucketAssociationTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessRoleArnAssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessRoleArnAssociationState.java new file mode 100644 index 00000000000..04f4b4e2835 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessRoleArnAssociationState.java @@ -0,0 +1,101 @@ +// *** 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.shield.inputs; + +import com.pulumi.aws.shield.inputs.DrtAccessRoleArnAssociationTimeoutsArgs; +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 DrtAccessRoleArnAssociationState extends com.pulumi.resources.ResourceArgs { + + public static final DrtAccessRoleArnAssociationState Empty = new DrtAccessRoleArnAssociationState(); + + /** + * The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + */ + @Import(name="roleArn") + private @Nullable Output roleArn; + + /** + * @return The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + */ + public Optional> roleArn() { + return Optional.ofNullable(this.roleArn); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private DrtAccessRoleArnAssociationState() {} + + private DrtAccessRoleArnAssociationState(DrtAccessRoleArnAssociationState $) { + this.roleArn = $.roleArn; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DrtAccessRoleArnAssociationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DrtAccessRoleArnAssociationState $; + + public Builder() { + $ = new DrtAccessRoleArnAssociationState(); + } + + public Builder(DrtAccessRoleArnAssociationState defaults) { + $ = new DrtAccessRoleArnAssociationState(Objects.requireNonNull(defaults)); + } + + /** + * @param roleArn The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + * @return builder + * + */ + public Builder roleArn(@Nullable Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(DrtAccessRoleArnAssociationTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public DrtAccessRoleArnAssociationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessRoleArnAssociationTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessRoleArnAssociationTimeoutsArgs.java new file mode 100644 index 00000000000..f0963d51929 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/inputs/DrtAccessRoleArnAssociationTimeoutsArgs.java @@ -0,0 +1,97 @@ +// *** 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.shield.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 DrtAccessRoleArnAssociationTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final DrtAccessRoleArnAssociationTimeoutsArgs Empty = new DrtAccessRoleArnAssociationTimeoutsArgs(); + + @Import(name="create") + private @Nullable Output create; + + public Optional> create() { + return Optional.ofNullable(this.create); + } + + @Import(name="delete") + private @Nullable Output delete; + + public Optional> delete() { + return Optional.ofNullable(this.delete); + } + + @Import(name="read") + private @Nullable Output read; + + public Optional> read() { + return Optional.ofNullable(this.read); + } + + private DrtAccessRoleArnAssociationTimeoutsArgs() {} + + private DrtAccessRoleArnAssociationTimeoutsArgs(DrtAccessRoleArnAssociationTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.read = $.read; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DrtAccessRoleArnAssociationTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DrtAccessRoleArnAssociationTimeoutsArgs $; + + public Builder() { + $ = new DrtAccessRoleArnAssociationTimeoutsArgs(); + } + + public Builder(DrtAccessRoleArnAssociationTimeoutsArgs defaults) { + $ = new DrtAccessRoleArnAssociationTimeoutsArgs(Objects.requireNonNull(defaults)); + } + + public Builder create(@Nullable Output create) { + $.create = create; + return this; + } + + public Builder create(String create) { + return create(Output.of(create)); + } + + public Builder delete(@Nullable Output delete) { + $.delete = delete; + return this; + } + + public Builder delete(String delete) { + return delete(Output.of(delete)); + } + + public Builder read(@Nullable Output read) { + $.read = read; + return this; + } + + public Builder read(String read) { + return read(Output.of(read)); + } + + public DrtAccessRoleArnAssociationTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/outputs/DrtAccessLogBucketAssociationTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/shield/outputs/DrtAccessLogBucketAssociationTimeouts.java new file mode 100644 index 00000000000..ad36c7e976d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/outputs/DrtAccessLogBucketAssociationTimeouts.java @@ -0,0 +1,72 @@ +// *** 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.shield.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 DrtAccessLogBucketAssociationTimeouts { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String read; + + private DrtAccessLogBucketAssociationTimeouts() {} + public Optional create() { + return Optional.ofNullable(this.create); + } + public Optional delete() { + return Optional.ofNullable(this.delete); + } + public Optional read() { + return Optional.ofNullable(this.read); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DrtAccessLogBucketAssociationTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String read; + public Builder() {} + public Builder(DrtAccessLogBucketAssociationTimeouts defaults) { + Objects.requireNonNull(defaults); + this.create = defaults.create; + this.delete = defaults.delete; + this.read = defaults.read; + } + + @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 read(@Nullable String read) { + this.read = read; + return this; + } + public DrtAccessLogBucketAssociationTimeouts build() { + final var o = new DrtAccessLogBucketAssociationTimeouts(); + o.create = create; + o.delete = delete; + o.read = read; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/shield/outputs/DrtAccessRoleArnAssociationTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/shield/outputs/DrtAccessRoleArnAssociationTimeouts.java new file mode 100644 index 00000000000..288da788b92 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/shield/outputs/DrtAccessRoleArnAssociationTimeouts.java @@ -0,0 +1,72 @@ +// *** 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.shield.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 DrtAccessRoleArnAssociationTimeouts { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String read; + + private DrtAccessRoleArnAssociationTimeouts() {} + public Optional create() { + return Optional.ofNullable(this.create); + } + public Optional delete() { + return Optional.ofNullable(this.delete); + } + public Optional read() { + return Optional.ofNullable(this.read); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(DrtAccessRoleArnAssociationTimeouts defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String create; + private @Nullable String delete; + private @Nullable String read; + public Builder() {} + public Builder(DrtAccessRoleArnAssociationTimeouts defaults) { + Objects.requireNonNull(defaults); + this.create = defaults.create; + this.delete = defaults.delete; + this.read = defaults.read; + } + + @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 read(@Nullable String read) { + this.read = read; + return this; + } + public DrtAccessRoleArnAssociationTimeouts build() { + final var o = new DrtAccessRoleArnAssociationTimeouts(); + o.create = create; + o.delete = delete; + o.read = read; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java index a94dedc8882..e338b8c1702 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/Association.java @@ -375,6 +375,20 @@ public Output> parameters() { public Output> scheduleExpression() { return Codegen.optional(this.scheduleExpression); } + /** + * The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + */ + @Export(name="syncCompliance", refs={String.class}, tree="[0]") + private Output syncCompliance; + + /** + * @return The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + */ + public Output> syncCompliance() { + return Codegen.optional(this.syncCompliance); + } /** * A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/AssociationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/AssociationArgs.java index 715f5ce19d8..5e60567c06f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/AssociationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/AssociationArgs.java @@ -209,6 +209,21 @@ public Optional> scheduleExpression() { return Optional.ofNullable(this.scheduleExpression); } + /** + * The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + */ + @Import(name="syncCompliance") + private @Nullable Output syncCompliance; + + /** + * @return The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + */ + public Optional> syncCompliance() { + return Optional.ofNullable(this.syncCompliance); + } + /** * A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. * @@ -258,6 +273,7 @@ private AssociationArgs(AssociationArgs $) { this.outputLocation = $.outputLocation; this.parameters = $.parameters; this.scheduleExpression = $.scheduleExpression; + this.syncCompliance = $.syncCompliance; this.targets = $.targets; this.waitForSuccessTimeoutSeconds = $.waitForSuccessTimeoutSeconds; } @@ -540,6 +556,27 @@ public Builder scheduleExpression(String scheduleExpression) { return scheduleExpression(Output.of(scheduleExpression)); } + /** + * @param syncCompliance The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + * @return builder + * + */ + public Builder syncCompliance(@Nullable Output syncCompliance) { + $.syncCompliance = syncCompliance; + return this; + } + + /** + * @param syncCompliance The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + * @return builder + * + */ + public Builder syncCompliance(String syncCompliance) { + return syncCompliance(Output.of(syncCompliance)); + } + /** * @param targets A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/inputs/AssociationState.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/inputs/AssociationState.java index edaf2953956..83bf62dcb0a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/inputs/AssociationState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/inputs/AssociationState.java @@ -239,6 +239,21 @@ public Optional> scheduleExpression() { return Optional.ofNullable(this.scheduleExpression); } + /** + * The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + */ + @Import(name="syncCompliance") + private @Nullable Output syncCompliance; + + /** + * @return The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + */ + public Optional> syncCompliance() { + return Optional.ofNullable(this.syncCompliance); + } + /** * A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. * @@ -290,6 +305,7 @@ private AssociationState(AssociationState $) { this.outputLocation = $.outputLocation; this.parameters = $.parameters; this.scheduleExpression = $.scheduleExpression; + this.syncCompliance = $.syncCompliance; this.targets = $.targets; this.waitForSuccessTimeoutSeconds = $.waitForSuccessTimeoutSeconds; } @@ -614,6 +630,27 @@ public Builder scheduleExpression(String scheduleExpression) { return scheduleExpression(Output.of(scheduleExpression)); } + /** + * @param syncCompliance The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + * @return builder + * + */ + public Builder syncCompliance(@Nullable Output syncCompliance) { + $.syncCompliance = syncCompliance; + return this; + } + + /** + * @param syncCompliance The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + * + * @return builder + * + */ + public Builder syncCompliance(String syncCompliance) { + return syncCompliance(Output.of(syncCompliance)); + } + /** * @param targets A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.java new file mode 100644 index 00000000000..993f5117c99 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProvider.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.verifiedaccess; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.verifiedaccess.TrustProviderArgs; +import com.pulumi.aws.verifiedaccess.inputs.TrustProviderState; +import com.pulumi.aws.verifiedaccess.outputs.TrustProviderDeviceOptions; +import com.pulumi.aws.verifiedaccess.outputs.TrustProviderOidcOptions; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing a Verified Access Trust Provider. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.verifiedaccess.TrustProvider; + * import com.pulumi.aws.verifiedaccess.TrustProviderArgs; + * 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 TrustProvider("example", TrustProviderArgs.builder() + * .policyReferenceName("example") + * .trustProviderType("user") + * .userTrustProviderType("iam-identity-center") + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import { + * + * to = aws_verifiedaccess_trust_provider.example + * + * id = "vatp-8012925589" } Using `TODO import`, import Transfer Workflows using the + * + * `id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 + * + */ +@ResourceType(type="aws:verifiedaccess/trustProvider:TrustProvider") +public class TrustProvider extends com.pulumi.resources.CustomResource { + /** + * A description for the AWS Verified Access trust provider. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return A description for the AWS Verified Access trust provider. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * A block of options for device identity based trust providers. + * + */ + @Export(name="deviceOptions", refs={TrustProviderDeviceOptions.class}, tree="[0]") + private Output deviceOptions; + + /** + * @return A block of options for device identity based trust providers. + * + */ + public Output> deviceOptions() { + return Codegen.optional(this.deviceOptions); + } + /** + * The type of device-based trust provider. + * + */ + @Export(name="deviceTrustProviderType", refs={String.class}, tree="[0]") + private Output deviceTrustProviderType; + + /** + * @return The type of device-based trust provider. + * + */ + public Output> deviceTrustProviderType() { + return Codegen.optional(this.deviceTrustProviderType); + } + /** + * The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + */ + @Export(name="oidcOptions", refs={TrustProviderOidcOptions.class}, tree="[0]") + private Output oidcOptions; + + /** + * @return The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + */ + public Output> oidcOptions() { + return Codegen.optional(this.oidcOptions); + } + /** + * The identifier to be used when working with policy rules. + * + */ + @Export(name="policyReferenceName", refs={String.class}, tree="[0]") + private Output policyReferenceName; + + /** + * @return The identifier to be used when working with policy rules. + * + */ + public Output policyReferenceName() { + return this.policyReferenceName; + } + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + /** + * The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + */ + @Export(name="trustProviderType", refs={String.class}, tree="[0]") + private Output trustProviderType; + + /** + * @return The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + */ + public Output trustProviderType() { + return this.trustProviderType; + } + /** + * The type of user-based trust provider. + * + */ + @Export(name="userTrustProviderType", refs={String.class}, tree="[0]") + private Output userTrustProviderType; + + /** + * @return The type of user-based trust provider. + * + */ + public Output> userTrustProviderType() { + return Codegen.optional(this.userTrustProviderType); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public TrustProvider(String name) { + this(name, TrustProviderArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public TrustProvider(String name, TrustProviderArgs 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 TrustProvider(String name, TrustProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:verifiedaccess/trustProvider:TrustProvider", name, args == null ? TrustProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private TrustProvider(String name, Output id, @Nullable TrustProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:verifiedaccess/trustProvider:TrustProvider", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static TrustProvider get(String name, Output id, @Nullable TrustProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new TrustProvider(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProviderArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProviderArgs.java new file mode 100644 index 00000000000..afab65efa7a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/TrustProviderArgs.java @@ -0,0 +1,355 @@ +// *** 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.verifiedaccess; + +import com.pulumi.aws.verifiedaccess.inputs.TrustProviderDeviceOptionsArgs; +import com.pulumi.aws.verifiedaccess.inputs.TrustProviderOidcOptionsArgs; +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 TrustProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final TrustProviderArgs Empty = new TrustProviderArgs(); + + /** + * A description for the AWS Verified Access trust provider. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description for the AWS Verified Access trust provider. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A block of options for device identity based trust providers. + * + */ + @Import(name="deviceOptions") + private @Nullable Output deviceOptions; + + /** + * @return A block of options for device identity based trust providers. + * + */ + public Optional> deviceOptions() { + return Optional.ofNullable(this.deviceOptions); + } + + /** + * The type of device-based trust provider. + * + */ + @Import(name="deviceTrustProviderType") + private @Nullable Output deviceTrustProviderType; + + /** + * @return The type of device-based trust provider. + * + */ + public Optional> deviceTrustProviderType() { + return Optional.ofNullable(this.deviceTrustProviderType); + } + + /** + * The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + */ + @Import(name="oidcOptions") + private @Nullable Output oidcOptions; + + /** + * @return The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + */ + public Optional> oidcOptions() { + return Optional.ofNullable(this.oidcOptions); + } + + /** + * The identifier to be used when working with policy rules. + * + */ + @Import(name="policyReferenceName", required=true) + private Output policyReferenceName; + + /** + * @return The identifier to be used when working with policy rules. + * + */ + public Output policyReferenceName() { + return this.policyReferenceName; + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + */ + @Import(name="trustProviderType", required=true) + private Output trustProviderType; + + /** + * @return The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + */ + public Output trustProviderType() { + return this.trustProviderType; + } + + /** + * The type of user-based trust provider. + * + */ + @Import(name="userTrustProviderType") + private @Nullable Output userTrustProviderType; + + /** + * @return The type of user-based trust provider. + * + */ + public Optional> userTrustProviderType() { + return Optional.ofNullable(this.userTrustProviderType); + } + + private TrustProviderArgs() {} + + private TrustProviderArgs(TrustProviderArgs $) { + this.description = $.description; + this.deviceOptions = $.deviceOptions; + this.deviceTrustProviderType = $.deviceTrustProviderType; + this.oidcOptions = $.oidcOptions; + this.policyReferenceName = $.policyReferenceName; + this.tags = $.tags; + this.trustProviderType = $.trustProviderType; + this.userTrustProviderType = $.userTrustProviderType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TrustProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TrustProviderArgs $; + + public Builder() { + $ = new TrustProviderArgs(); + } + + public Builder(TrustProviderArgs defaults) { + $ = new TrustProviderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description for the AWS Verified Access trust provider. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description for the AWS Verified Access trust provider. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param deviceOptions A block of options for device identity based trust providers. + * + * @return builder + * + */ + public Builder deviceOptions(@Nullable Output deviceOptions) { + $.deviceOptions = deviceOptions; + return this; + } + + /** + * @param deviceOptions A block of options for device identity based trust providers. + * + * @return builder + * + */ + public Builder deviceOptions(TrustProviderDeviceOptionsArgs deviceOptions) { + return deviceOptions(Output.of(deviceOptions)); + } + + /** + * @param deviceTrustProviderType The type of device-based trust provider. + * + * @return builder + * + */ + public Builder deviceTrustProviderType(@Nullable Output deviceTrustProviderType) { + $.deviceTrustProviderType = deviceTrustProviderType; + return this; + } + + /** + * @param deviceTrustProviderType The type of device-based trust provider. + * + * @return builder + * + */ + public Builder deviceTrustProviderType(String deviceTrustProviderType) { + return deviceTrustProviderType(Output.of(deviceTrustProviderType)); + } + + /** + * @param oidcOptions The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + * @return builder + * + */ + public Builder oidcOptions(@Nullable Output oidcOptions) { + $.oidcOptions = oidcOptions; + return this; + } + + /** + * @param oidcOptions The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + * @return builder + * + */ + public Builder oidcOptions(TrustProviderOidcOptionsArgs oidcOptions) { + return oidcOptions(Output.of(oidcOptions)); + } + + /** + * @param policyReferenceName The identifier to be used when working with policy rules. + * + * @return builder + * + */ + public Builder policyReferenceName(Output policyReferenceName) { + $.policyReferenceName = policyReferenceName; + return this; + } + + /** + * @param policyReferenceName The identifier to be used when working with policy rules. + * + * @return builder + * + */ + public Builder policyReferenceName(String policyReferenceName) { + return policyReferenceName(Output.of(policyReferenceName)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param trustProviderType The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder trustProviderType(Output trustProviderType) { + $.trustProviderType = trustProviderType; + return this; + } + + /** + * @param trustProviderType The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder trustProviderType(String trustProviderType) { + return trustProviderType(Output.of(trustProviderType)); + } + + /** + * @param userTrustProviderType The type of user-based trust provider. + * + * @return builder + * + */ + public Builder userTrustProviderType(@Nullable Output userTrustProviderType) { + $.userTrustProviderType = userTrustProviderType; + return this; + } + + /** + * @param userTrustProviderType The type of user-based trust provider. + * + * @return builder + * + */ + public Builder userTrustProviderType(String userTrustProviderType) { + return userTrustProviderType(Output.of(userTrustProviderType)); + } + + public TrustProviderArgs build() { + $.policyReferenceName = Objects.requireNonNull($.policyReferenceName, "expected parameter 'policyReferenceName' to be non-null"); + $.trustProviderType = Objects.requireNonNull($.trustProviderType, "expected parameter 'trustProviderType' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderDeviceOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderDeviceOptionsArgs.java new file mode 100644 index 00000000000..b8953093df5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderDeviceOptionsArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedaccess.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 TrustProviderDeviceOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final TrustProviderDeviceOptionsArgs Empty = new TrustProviderDeviceOptionsArgs(); + + @Import(name="tenantId") + private @Nullable Output tenantId; + + public Optional> tenantId() { + return Optional.ofNullable(this.tenantId); + } + + private TrustProviderDeviceOptionsArgs() {} + + private TrustProviderDeviceOptionsArgs(TrustProviderDeviceOptionsArgs $) { + this.tenantId = $.tenantId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TrustProviderDeviceOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TrustProviderDeviceOptionsArgs $; + + public Builder() { + $ = new TrustProviderDeviceOptionsArgs(); + } + + public Builder(TrustProviderDeviceOptionsArgs defaults) { + $ = new TrustProviderDeviceOptionsArgs(Objects.requireNonNull(defaults)); + } + + public Builder tenantId(@Nullable Output tenantId) { + $.tenantId = tenantId; + return this; + } + + public Builder tenantId(String tenantId) { + return tenantId(Output.of(tenantId)); + } + + public TrustProviderDeviceOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderOidcOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderOidcOptionsArgs.java new file mode 100644 index 00000000000..9a4ab6556d3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderOidcOptionsArgs.java @@ -0,0 +1,166 @@ +// *** 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.verifiedaccess.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 TrustProviderOidcOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final TrustProviderOidcOptionsArgs Empty = new TrustProviderOidcOptionsArgs(); + + @Import(name="authorizationEndpoint") + private @Nullable Output authorizationEndpoint; + + public Optional> authorizationEndpoint() { + return Optional.ofNullable(this.authorizationEndpoint); + } + + @Import(name="clientId") + private @Nullable Output clientId; + + public Optional> clientId() { + return Optional.ofNullable(this.clientId); + } + + @Import(name="clientSecret", required=true) + private Output clientSecret; + + public Output clientSecret() { + return this.clientSecret; + } + + @Import(name="issuer") + private @Nullable Output issuer; + + public Optional> issuer() { + return Optional.ofNullable(this.issuer); + } + + @Import(name="scope") + private @Nullable Output scope; + + public Optional> scope() { + return Optional.ofNullable(this.scope); + } + + @Import(name="tokenEndpoint") + private @Nullable Output tokenEndpoint; + + public Optional> tokenEndpoint() { + return Optional.ofNullable(this.tokenEndpoint); + } + + @Import(name="userInfoEndpoint") + private @Nullable Output userInfoEndpoint; + + public Optional> userInfoEndpoint() { + return Optional.ofNullable(this.userInfoEndpoint); + } + + private TrustProviderOidcOptionsArgs() {} + + private TrustProviderOidcOptionsArgs(TrustProviderOidcOptionsArgs $) { + this.authorizationEndpoint = $.authorizationEndpoint; + this.clientId = $.clientId; + this.clientSecret = $.clientSecret; + this.issuer = $.issuer; + this.scope = $.scope; + this.tokenEndpoint = $.tokenEndpoint; + this.userInfoEndpoint = $.userInfoEndpoint; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TrustProviderOidcOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TrustProviderOidcOptionsArgs $; + + public Builder() { + $ = new TrustProviderOidcOptionsArgs(); + } + + public Builder(TrustProviderOidcOptionsArgs defaults) { + $ = new TrustProviderOidcOptionsArgs(Objects.requireNonNull(defaults)); + } + + public Builder authorizationEndpoint(@Nullable Output authorizationEndpoint) { + $.authorizationEndpoint = authorizationEndpoint; + return this; + } + + public Builder authorizationEndpoint(String authorizationEndpoint) { + return authorizationEndpoint(Output.of(authorizationEndpoint)); + } + + public Builder clientId(@Nullable Output clientId) { + $.clientId = clientId; + return this; + } + + public Builder clientId(String clientId) { + return clientId(Output.of(clientId)); + } + + public Builder clientSecret(Output clientSecret) { + $.clientSecret = clientSecret; + return this; + } + + public Builder clientSecret(String clientSecret) { + return clientSecret(Output.of(clientSecret)); + } + + public Builder issuer(@Nullable Output issuer) { + $.issuer = issuer; + return this; + } + + public Builder issuer(String issuer) { + return issuer(Output.of(issuer)); + } + + public Builder scope(@Nullable Output scope) { + $.scope = scope; + return this; + } + + public Builder scope(String scope) { + return scope(Output.of(scope)); + } + + public Builder tokenEndpoint(@Nullable Output tokenEndpoint) { + $.tokenEndpoint = tokenEndpoint; + return this; + } + + public Builder tokenEndpoint(String tokenEndpoint) { + return tokenEndpoint(Output.of(tokenEndpoint)); + } + + public Builder userInfoEndpoint(@Nullable Output userInfoEndpoint) { + $.userInfoEndpoint = userInfoEndpoint; + return this; + } + + public Builder userInfoEndpoint(String userInfoEndpoint) { + return userInfoEndpoint(Output.of(userInfoEndpoint)); + } + + public TrustProviderOidcOptionsArgs build() { + $.clientSecret = Objects.requireNonNull($.clientSecret, "expected parameter 'clientSecret' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderState.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderState.java new file mode 100644 index 00000000000..5ba2670c6b4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/inputs/TrustProviderState.java @@ -0,0 +1,370 @@ +// *** 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.verifiedaccess.inputs; + +import com.pulumi.aws.verifiedaccess.inputs.TrustProviderDeviceOptionsArgs; +import com.pulumi.aws.verifiedaccess.inputs.TrustProviderOidcOptionsArgs; +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 TrustProviderState extends com.pulumi.resources.ResourceArgs { + + public static final TrustProviderState Empty = new TrustProviderState(); + + /** + * A description for the AWS Verified Access trust provider. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description for the AWS Verified Access trust provider. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * A block of options for device identity based trust providers. + * + */ + @Import(name="deviceOptions") + private @Nullable Output deviceOptions; + + /** + * @return A block of options for device identity based trust providers. + * + */ + public Optional> deviceOptions() { + return Optional.ofNullable(this.deviceOptions); + } + + /** + * The type of device-based trust provider. + * + */ + @Import(name="deviceTrustProviderType") + private @Nullable Output deviceTrustProviderType; + + /** + * @return The type of device-based trust provider. + * + */ + public Optional> deviceTrustProviderType() { + return Optional.ofNullable(this.deviceTrustProviderType); + } + + /** + * The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + */ + @Import(name="oidcOptions") + private @Nullable Output oidcOptions; + + /** + * @return The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + */ + public Optional> oidcOptions() { + return Optional.ofNullable(this.oidcOptions); + } + + /** + * The identifier to be used when working with policy rules. + * + */ + @Import(name="policyReferenceName") + private @Nullable Output policyReferenceName; + + /** + * @return The identifier to be used when working with policy rules. + * + */ + public Optional> policyReferenceName() { + return Optional.ofNullable(this.policyReferenceName); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + /** + * The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + */ + @Import(name="trustProviderType") + private @Nullable Output trustProviderType; + + /** + * @return The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + */ + public Optional> trustProviderType() { + return Optional.ofNullable(this.trustProviderType); + } + + /** + * The type of user-based trust provider. + * + */ + @Import(name="userTrustProviderType") + private @Nullable Output userTrustProviderType; + + /** + * @return The type of user-based trust provider. + * + */ + public Optional> userTrustProviderType() { + return Optional.ofNullable(this.userTrustProviderType); + } + + private TrustProviderState() {} + + private TrustProviderState(TrustProviderState $) { + this.description = $.description; + this.deviceOptions = $.deviceOptions; + this.deviceTrustProviderType = $.deviceTrustProviderType; + this.oidcOptions = $.oidcOptions; + this.policyReferenceName = $.policyReferenceName; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.trustProviderType = $.trustProviderType; + this.userTrustProviderType = $.userTrustProviderType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(TrustProviderState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private TrustProviderState $; + + public Builder() { + $ = new TrustProviderState(); + } + + public Builder(TrustProviderState defaults) { + $ = new TrustProviderState(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description for the AWS Verified Access trust provider. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description for the AWS Verified Access trust provider. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param deviceOptions A block of options for device identity based trust providers. + * + * @return builder + * + */ + public Builder deviceOptions(@Nullable Output deviceOptions) { + $.deviceOptions = deviceOptions; + return this; + } + + /** + * @param deviceOptions A block of options for device identity based trust providers. + * + * @return builder + * + */ + public Builder deviceOptions(TrustProviderDeviceOptionsArgs deviceOptions) { + return deviceOptions(Output.of(deviceOptions)); + } + + /** + * @param deviceTrustProviderType The type of device-based trust provider. + * + * @return builder + * + */ + public Builder deviceTrustProviderType(@Nullable Output deviceTrustProviderType) { + $.deviceTrustProviderType = deviceTrustProviderType; + return this; + } + + /** + * @param deviceTrustProviderType The type of device-based trust provider. + * + * @return builder + * + */ + public Builder deviceTrustProviderType(String deviceTrustProviderType) { + return deviceTrustProviderType(Output.of(deviceTrustProviderType)); + } + + /** + * @param oidcOptions The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + * @return builder + * + */ + public Builder oidcOptions(@Nullable Output oidcOptions) { + $.oidcOptions = oidcOptions; + return this; + } + + /** + * @param oidcOptions The OpenID Connect details for an oidc-type, user-identity based trust provider. + * + * @return builder + * + */ + public Builder oidcOptions(TrustProviderOidcOptionsArgs oidcOptions) { + return oidcOptions(Output.of(oidcOptions)); + } + + /** + * @param policyReferenceName The identifier to be used when working with policy rules. + * + * @return builder + * + */ + public Builder policyReferenceName(@Nullable Output policyReferenceName) { + $.policyReferenceName = policyReferenceName; + return this; + } + + /** + * @param policyReferenceName The identifier to be used when working with policy rules. + * + * @return builder + * + */ + public Builder policyReferenceName(String policyReferenceName) { + return policyReferenceName(Output.of(policyReferenceName)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + /** + * @param trustProviderType The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder trustProviderType(@Nullable Output trustProviderType) { + $.trustProviderType = trustProviderType; + return this; + } + + /** + * @param trustProviderType The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder trustProviderType(String trustProviderType) { + return trustProviderType(Output.of(trustProviderType)); + } + + /** + * @param userTrustProviderType The type of user-based trust provider. + * + * @return builder + * + */ + public Builder userTrustProviderType(@Nullable Output userTrustProviderType) { + $.userTrustProviderType = userTrustProviderType; + return this; + } + + /** + * @param userTrustProviderType The type of user-based trust provider. + * + * @return builder + * + */ + public Builder userTrustProviderType(String userTrustProviderType) { + return userTrustProviderType(Output.of(userTrustProviderType)); + } + + public TrustProviderState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/outputs/TrustProviderDeviceOptions.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/outputs/TrustProviderDeviceOptions.java new file mode 100644 index 00000000000..bd77ad0eef4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/outputs/TrustProviderDeviceOptions.java @@ -0,0 +1,48 @@ +// *** 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.verifiedaccess.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 TrustProviderDeviceOptions { + private @Nullable String tenantId; + + private TrustProviderDeviceOptions() {} + public Optional tenantId() { + return Optional.ofNullable(this.tenantId); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TrustProviderDeviceOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String tenantId; + public Builder() {} + public Builder(TrustProviderDeviceOptions defaults) { + Objects.requireNonNull(defaults); + this.tenantId = defaults.tenantId; + } + + @CustomType.Setter + public Builder tenantId(@Nullable String tenantId) { + this.tenantId = tenantId; + return this; + } + public TrustProviderDeviceOptions build() { + final var o = new TrustProviderDeviceOptions(); + o.tenantId = tenantId; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/outputs/TrustProviderOidcOptions.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/outputs/TrustProviderOidcOptions.java new file mode 100644 index 00000000000..e5d1d6d2a54 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedaccess/outputs/TrustProviderOidcOptions.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedaccess.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 TrustProviderOidcOptions { + private @Nullable String authorizationEndpoint; + private @Nullable String clientId; + private String clientSecret; + private @Nullable String issuer; + private @Nullable String scope; + private @Nullable String tokenEndpoint; + private @Nullable String userInfoEndpoint; + + private TrustProviderOidcOptions() {} + public Optional authorizationEndpoint() { + return Optional.ofNullable(this.authorizationEndpoint); + } + public Optional clientId() { + return Optional.ofNullable(this.clientId); + } + public String clientSecret() { + return this.clientSecret; + } + public Optional issuer() { + return Optional.ofNullable(this.issuer); + } + public Optional scope() { + return Optional.ofNullable(this.scope); + } + public Optional tokenEndpoint() { + return Optional.ofNullable(this.tokenEndpoint); + } + public Optional userInfoEndpoint() { + return Optional.ofNullable(this.userInfoEndpoint); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(TrustProviderOidcOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String authorizationEndpoint; + private @Nullable String clientId; + private String clientSecret; + private @Nullable String issuer; + private @Nullable String scope; + private @Nullable String tokenEndpoint; + private @Nullable String userInfoEndpoint; + public Builder() {} + public Builder(TrustProviderOidcOptions defaults) { + Objects.requireNonNull(defaults); + this.authorizationEndpoint = defaults.authorizationEndpoint; + this.clientId = defaults.clientId; + this.clientSecret = defaults.clientSecret; + this.issuer = defaults.issuer; + this.scope = defaults.scope; + this.tokenEndpoint = defaults.tokenEndpoint; + this.userInfoEndpoint = defaults.userInfoEndpoint; + } + + @CustomType.Setter + public Builder authorizationEndpoint(@Nullable String authorizationEndpoint) { + this.authorizationEndpoint = authorizationEndpoint; + return this; + } + @CustomType.Setter + public Builder clientId(@Nullable String clientId) { + this.clientId = clientId; + return this; + } + @CustomType.Setter + public Builder clientSecret(String clientSecret) { + this.clientSecret = Objects.requireNonNull(clientSecret); + return this; + } + @CustomType.Setter + public Builder issuer(@Nullable String issuer) { + this.issuer = issuer; + return this; + } + @CustomType.Setter + public Builder scope(@Nullable String scope) { + this.scope = scope; + return this; + } + @CustomType.Setter + public Builder tokenEndpoint(@Nullable String tokenEndpoint) { + this.tokenEndpoint = tokenEndpoint; + return this; + } + @CustomType.Setter + public Builder userInfoEndpoint(@Nullable String userInfoEndpoint) { + this.userInfoEndpoint = userInfoEndpoint; + return this; + } + public TrustProviderOidcOptions build() { + final var o = new TrustProviderOidcOptions(); + o.authorizationEndpoint = authorizationEndpoint; + o.clientId = clientId; + o.clientSecret = clientSecret; + o.issuer = issuer; + o.scope = scope; + o.tokenEndpoint = tokenEndpoint; + o.userInfoEndpoint = userInfoEndpoint; + return o; + } + } +} diff --git a/sdk/nodejs/acmpca/certificateAuthority.ts b/sdk/nodejs/acmpca/certificateAuthority.ts index 5e95189f908..cc008c62898 100644 --- a/sdk/nodejs/acmpca/certificateAuthority.ts +++ b/sdk/nodejs/acmpca/certificateAuthority.ts @@ -53,7 +53,7 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const exampleBucketV2 = new aws.s3.BucketV2("exampleBucketV2", {}); + * const exampleBucketV2 = new aws.s3.BucketV2("exampleBucketV2", {forceDestroy: true}); * const acmpcaBucketAccess = aws.iam.getPolicyDocumentOutput({ * statements: [{ * actions: [ @@ -90,6 +90,7 @@ import * as utilities from "../utilities"; * enabled: true, * expirationInDays: 7, * s3BucketName: exampleBucketV2.id, + * s3ObjectAcl: "BUCKET_OWNER_FULL_CONTROL", * }, * }, * }, { diff --git a/sdk/nodejs/apigateway/account.ts b/sdk/nodejs/apigateway/account.ts index b567b04d703..0256e6ecae3 100644 --- a/sdk/nodejs/apigateway/account.ts +++ b/sdk/nodejs/apigateway/account.ts @@ -87,10 +87,18 @@ export class Account extends pulumi.CustomResource { return obj['__pulumiType'] === Account.__pulumiType; } + /** + * The version of the API keys used for the account. + */ + public /*out*/ readonly apiKeyVersion!: pulumi.Output; /** * ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. */ public readonly cloudwatchRoleArn!: pulumi.Output; + /** + * A list of features supported for the account. + */ + public /*out*/ readonly features!: pulumi.Output; /** * Account-Level throttle settings. See exported fields below. */ @@ -109,11 +117,15 @@ export class Account extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as AccountState | undefined; + resourceInputs["apiKeyVersion"] = state ? state.apiKeyVersion : undefined; resourceInputs["cloudwatchRoleArn"] = state ? state.cloudwatchRoleArn : undefined; + resourceInputs["features"] = state ? state.features : undefined; resourceInputs["throttleSettings"] = state ? state.throttleSettings : undefined; } else { const args = argsOrState as AccountArgs | undefined; resourceInputs["cloudwatchRoleArn"] = args ? args.cloudwatchRoleArn : undefined; + resourceInputs["apiKeyVersion"] = undefined /*out*/; + resourceInputs["features"] = undefined /*out*/; resourceInputs["throttleSettings"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -125,10 +137,18 @@ export class Account extends pulumi.CustomResource { * Input properties used for looking up and filtering Account resources. */ export interface AccountState { + /** + * The version of the API keys used for the account. + */ + apiKeyVersion?: pulumi.Input; /** * ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. */ cloudwatchRoleArn?: pulumi.Input; + /** + * A list of features supported for the account. + */ + features?: pulumi.Input[]>; /** * Account-Level throttle settings. See exported fields below. */ diff --git a/sdk/nodejs/apigateway/apiKey.ts b/sdk/nodejs/apigateway/apiKey.ts index 3be99c25a5d..1505d088758 100644 --- a/sdk/nodejs/apigateway/apiKey.ts +++ b/sdk/nodejs/apigateway/apiKey.ts @@ -15,16 +15,16 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * - * const myDemoApiKey = new aws.apigateway.ApiKey("myDemoApiKey", {}); + * const example = new aws.apigateway.ApiKey("example", {}); * ``` * * ## Import * - * Using `pulumi import`, import API Gateway Keys using the `id`. For example: + * terraform import { * - * ```sh - * $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk - * ``` + * to = aws_api_gateway_api_key.example + * + * id = "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk */ export class ApiKey extends pulumi.CustomResource { /** @@ -62,6 +62,10 @@ export class ApiKey extends pulumi.CustomResource { * Creation date of the API key */ public /*out*/ readonly createdDate!: pulumi.Output; + /** + * An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + */ + public readonly customerId!: pulumi.Output; /** * API key description. Defaults to "Managed by Pulumi". */ @@ -106,6 +110,7 @@ export class ApiKey extends pulumi.CustomResource { const state = argsOrState as ApiKeyState | undefined; resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["createdDate"] = state ? state.createdDate : undefined; + resourceInputs["customerId"] = state ? state.customerId : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["enabled"] = state ? state.enabled : undefined; resourceInputs["lastUpdatedDate"] = state ? state.lastUpdatedDate : undefined; @@ -115,6 +120,7 @@ export class ApiKey extends pulumi.CustomResource { resourceInputs["value"] = state ? state.value : undefined; } else { const args = argsOrState as ApiKeyArgs | undefined; + resourceInputs["customerId"] = args ? args.customerId : undefined; resourceInputs["description"] = (args ? args.description : undefined) ?? "Managed by Pulumi"; resourceInputs["enabled"] = args ? args.enabled : undefined; resourceInputs["name"] = args ? args.name : undefined; @@ -144,6 +150,10 @@ export interface ApiKeyState { * Creation date of the API key */ createdDate?: pulumi.Input; + /** + * An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + */ + customerId?: pulumi.Input; /** * API key description. Defaults to "Managed by Pulumi". */ @@ -178,6 +188,10 @@ export interface ApiKeyState { * The set of arguments for constructing a ApiKey resource. */ export interface ApiKeyArgs { + /** + * An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + */ + customerId?: pulumi.Input; /** * API key description. Defaults to "Managed by Pulumi". */ diff --git a/sdk/nodejs/apigateway/getKey.ts b/sdk/nodejs/apigateway/getKey.ts index 72b99dd6b08..9dfed79ba7e 100644 --- a/sdk/nodejs/apigateway/getKey.ts +++ b/sdk/nodejs/apigateway/getKey.ts @@ -50,6 +50,10 @@ export interface GetKeyResult { * Date and time when the API Key was created. */ readonly createdDate: string; + /** + * Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + */ + readonly customerId: string; /** * Description of the API Key. */ diff --git a/sdk/nodejs/apigateway/response.ts b/sdk/nodejs/apigateway/response.ts index af2cb9a6ffc..2cc2e5ee12b 100644 --- a/sdk/nodejs/apigateway/response.ts +++ b/sdk/nodejs/apigateway/response.ts @@ -29,11 +29,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED - * ``` + * to = aws_api_gateway_gateway_response.example + * + * id = "12345abcde/UNAUTHORIZED" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED */ export class Response extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cfg/aggregateAuthorization.ts b/sdk/nodejs/cfg/aggregateAuthorization.ts index 0f98cf2ac92..5f4162a207f 100644 --- a/sdk/nodejs/cfg/aggregateAuthorization.ts +++ b/sdk/nodejs/cfg/aggregateAuthorization.ts @@ -21,11 +21,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1 - * ``` + * to = aws_config_aggregate_authorization.example + * + * id = "123456789012:us-east-1" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 */ export class AggregateAuthorization extends pulumi.CustomResource { /** @@ -68,7 +68,7 @@ export class AggregateAuthorization extends pulumi.CustomResource { */ public readonly region!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -130,7 +130,7 @@ export interface AggregateAuthorizationState { */ region?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -152,7 +152,7 @@ export interface AggregateAuthorizationArgs { */ region: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/cloud9/environmentMembership.ts b/sdk/nodejs/cloud9/environmentMembership.ts index 3708b51a36f..cfc80bc41e0 100644 --- a/sdk/nodejs/cloud9/environmentMembership.ts +++ b/sdk/nodejs/cloud9/environmentMembership.ts @@ -24,11 +24,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn - * ``` + * to = aws_cloud9_environment_membership.test + * + * id = "environment-id#user-arn" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn */ export class EnvironmentMembership extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cloudformation/stackSet.ts b/sdk/nodejs/cloudformation/stackSet.ts index ed378284580..1f15fc88d76 100644 --- a/sdk/nodejs/cloudformation/stackSet.ts +++ b/sdk/nodejs/cloudformation/stackSet.ts @@ -85,7 +85,7 @@ import * as utilities from "../utilities"; * Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example: * * ```sh - * $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN + * $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN * ``` */ export class StackSet extends pulumi.CustomResource { diff --git a/sdk/nodejs/cloudformation/stackSetInstance.ts b/sdk/nodejs/cloudformation/stackSetInstance.ts index 9e6fcf79b7f..099a2f4f5bb 100644 --- a/sdk/nodejs/cloudformation/stackSetInstance.ts +++ b/sdk/nodejs/cloudformation/stackSetInstance.ts @@ -81,6 +81,8 @@ import * as utilities from "../utilities"; * * Import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example: * + * Import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example: + * * Using `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example: * * ```sh diff --git a/sdk/nodejs/codepipeline/pipeline.ts b/sdk/nodejs/codepipeline/pipeline.ts index 6cf9b5eb6f0..c77d51ea9d7 100644 --- a/sdk/nodejs/codepipeline/pipeline.ts +++ b/sdk/nodejs/codepipeline/pipeline.ts @@ -137,11 +137,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import CodePipelines using the name. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codepipeline/pipeline:Pipeline foo example - * ``` + * to = aws_codepipeline.foo + * + * id = "example" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example */ export class Pipeline extends pulumi.CustomResource { /** @@ -192,7 +192,7 @@ export class Pipeline extends pulumi.CustomResource { */ public readonly stages!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -269,7 +269,7 @@ export interface PipelineState { */ stages?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -299,7 +299,7 @@ export interface PipelineArgs { */ stages: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/codepipeline/webhook.ts b/sdk/nodejs/codepipeline/webhook.ts index 965f8746946..894f9c3ae14 100644 --- a/sdk/nodejs/codepipeline/webhook.ts +++ b/sdk/nodejs/codepipeline/webhook.ts @@ -88,11 +88,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example - * ``` + * to = aws_codepipeline_webhook.example + * + * id = "arn:aws:codepipeline:us-west-2:123456789012:webhook:example" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example */ export class Webhook extends pulumi.CustomResource { /** @@ -143,7 +143,7 @@ export class Webhook extends pulumi.CustomResource { */ public readonly name!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -241,7 +241,7 @@ export interface WebhookState { */ name?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -283,7 +283,7 @@ export interface WebhookArgs { */ name?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/codestarconnections/connection.ts b/sdk/nodejs/codestarconnections/connection.ts index a0a33d1b60d..bababd109e0 100644 --- a/sdk/nodejs/codestarconnections/connection.ts +++ b/sdk/nodejs/codestarconnections/connection.ts @@ -50,11 +50,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import CodeStar connections using the ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 - * ``` + * to = aws_codestarconnections_connection.test-connection + * + * id = "arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 */ export class Connection extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/codestarconnections/host.ts b/sdk/nodejs/codestarconnections/host.ts index 8ad3fea85ac..b8171926294 100644 --- a/sdk/nodejs/codestarconnections/host.ts +++ b/sdk/nodejs/codestarconnections/host.ts @@ -26,11 +26,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import CodeStar Host using the ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 - * ``` + * to = aws_codestarconnections_host.example-host + * + * id = "arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 */ export class Host extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/codestarnotifications/notificationRule.ts b/sdk/nodejs/codestarnotifications/notificationRule.ts index 03fe4e1ec71..b156e76f76c 100644 --- a/sdk/nodejs/codestarnotifications/notificationRule.ts +++ b/sdk/nodejs/codestarnotifications/notificationRule.ts @@ -44,11 +44,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import CodeStar notification rule using the ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b - * ``` + * to = aws_codestarnotifications_notification_rule.foo + * + * id = "arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b */ export class NotificationRule extends pulumi.CustomResource { /** @@ -104,7 +104,7 @@ export class NotificationRule extends pulumi.CustomResource { */ public readonly status!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -194,7 +194,7 @@ export interface NotificationRuleState { */ status?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -233,7 +233,7 @@ export interface NotificationRuleArgs { */ status?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/cognito/getIdentityPool.ts b/sdk/nodejs/cognito/getIdentityPool.ts new file mode 100644 index 00000000000..b112785fed2 --- /dev/null +++ b/sdk/nodejs/cognito/getIdentityPool.ts @@ -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! *** + +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 Cognito Identity Pool. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.cognito.getIdentityPool({ + * identityPoolName: "test pool", + * }); + * ``` + */ +export function getIdentityPool(args: GetIdentityPoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:cognito/getIdentityPool:getIdentityPool", { + "identityPoolName": args.identityPoolName, + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getIdentityPool. + */ +export interface GetIdentityPoolArgs { + /** + * The Cognito Identity Pool name. + */ + identityPoolName: string; + /** + * A map of tags to assigned to the Identity Pool. + */ + tags?: {[key: string]: string}; +} + +/** + * A collection of values returned by getIdentityPool. + */ +export interface GetIdentityPoolResult { + /** + * Whether the classic / basic authentication flow is enabled. + */ + readonly allowClassicFlow: boolean; + /** + * Whether the identity pool supports unauthenticated logins or not. + */ + readonly allowUnauthenticatedIdentities: boolean; + /** + * ARN of the Pool. + */ + readonly arn: string; + /** + * An array of Amazon Cognito Identity user pools and their client IDs. + */ + readonly cognitoIdentityProviders: outputs.cognito.GetIdentityPoolCognitoIdentityProvider[]; + /** + * The "domain" by which Cognito will refer to your users. + */ + readonly developerProviderName: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly identityPoolName: string; + /** + * Set of OpendID Connect provider ARNs. + */ + readonly openidConnectProviderArns: string[]; + /** + * An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. + */ + readonly samlProviderArns: string[]; + /** + * Key-Value pairs mapping provider names to provider app IDs. + */ + readonly supportedLoginProviders: {[key: string]: string}; + /** + * A map of tags to assigned to the Identity Pool. + */ + readonly tags: {[key: string]: string}; +} +/** + * Data source for managing an AWS Cognito Identity Pool. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.cognito.getIdentityPool({ + * identityPoolName: "test pool", + * }); + * ``` + */ +export function getIdentityPoolOutput(args: GetIdentityPoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getIdentityPool(a, opts)) +} + +/** + * A collection of arguments for invoking getIdentityPool. + */ +export interface GetIdentityPoolOutputArgs { + /** + * The Cognito Identity Pool name. + */ + identityPoolName: pulumi.Input; + /** + * A map of tags to assigned to the Identity Pool. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/cognito/identityPool.ts b/sdk/nodejs/cognito/identityPool.ts index ae8286c0c6e..8a96e9f376b 100644 --- a/sdk/nodejs/cognito/identityPool.ts +++ b/sdk/nodejs/cognito/identityPool.ts @@ -45,11 +45,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Cognito Identity Pool using its ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 - * ``` + * to = aws_cognito_identity_pool.mypool + * + * id = "us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 */ export class IdentityPool extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cognito/identityPoolProviderPrincipalTag.ts b/sdk/nodejs/cognito/identityPoolProviderPrincipalTag.ts index 818025ade85..97e1c333b1b 100644 --- a/sdk/nodejs/cognito/identityPoolProviderPrincipalTag.ts +++ b/sdk/nodejs/cognito/identityPoolProviderPrincipalTag.ts @@ -9,11 +9,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD - * ``` + * to = aws_cognito_identity_pool_provider_principal_tag.example + * + * id = "us-west-2_abc123:CorpAD" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD */ export class IdentityPoolProviderPrincipalTag extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cognito/identityPoolRoleAttachment.ts b/sdk/nodejs/cognito/identityPoolRoleAttachment.ts index 5f11af04a36..7f6c0e0fb6e 100644 --- a/sdk/nodejs/cognito/identityPoolRoleAttachment.ts +++ b/sdk/nodejs/cognito/identityPoolRoleAttachment.ts @@ -12,11 +12,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 - * ``` + * to = aws_cognito_identity_pool_roles_attachment.example + * + * id = "us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 */ export class IdentityPoolRoleAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/cognito/index.ts b/sdk/nodejs/cognito/index.ts index 0dffb80bc5c..9ab67785afa 100644 --- a/sdk/nodejs/cognito/index.ts +++ b/sdk/nodejs/cognito/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { GetIdentityPoolArgs, GetIdentityPoolResult, GetIdentityPoolOutputArgs } from "./getIdentityPool"; +export const getIdentityPool: typeof import("./getIdentityPool").getIdentityPool = null as any; +export const getIdentityPoolOutput: typeof import("./getIdentityPool").getIdentityPoolOutput = null as any; +utilities.lazyLoad(exports, ["getIdentityPool","getIdentityPoolOutput"], () => require("./getIdentityPool")); + export { GetUserPoolClientArgs, GetUserPoolClientResult, GetUserPoolClientOutputArgs } from "./getUserPoolClient"; export const getUserPoolClient: typeof import("./getUserPoolClient").getUserPoolClient = null as any; export const getUserPoolClientOutput: typeof import("./getUserPoolClient").getUserPoolClientOutput = null as any; diff --git a/sdk/nodejs/cognito/userPool.ts b/sdk/nodejs/cognito/userPool.ts index ddc246fdd44..b4028accf31 100644 --- a/sdk/nodejs/cognito/userPool.ts +++ b/sdk/nodejs/cognito/userPool.ts @@ -61,11 +61,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Cognito User Pools using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 - * ``` + * to = aws_cognito_user_pool.pool + * + * id = "us-west-2_abc123" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 */ export class UserPool extends pulumi.CustomResource { /** @@ -186,7 +186,7 @@ export class UserPool extends pulumi.CustomResource { */ public readonly smsAuthenticationMessage!: pulumi.Output; /** - * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. */ public readonly smsConfiguration!: pulumi.Output; /** @@ -406,7 +406,7 @@ export interface UserPoolState { */ smsAuthenticationMessage?: pulumi.Input; /** - * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. */ smsConfiguration?: pulumi.Input; /** @@ -514,7 +514,7 @@ export interface UserPoolArgs { */ smsAuthenticationMessage?: pulumi.Input; /** - * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + * Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. */ smsConfiguration?: pulumi.Input; /** diff --git a/sdk/nodejs/connect/botAssociation.ts b/sdk/nodejs/connect/botAssociation.ts index fe411c6ecee..b0e68ff1547 100644 --- a/sdk/nodejs/connect/botAssociation.ts +++ b/sdk/nodejs/connect/botAssociation.ts @@ -76,11 +76,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import { * - * ```sh - * $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 - * ``` + * to = aws_connect_bot_association.example + * + * id = "aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 */ export class BotAssociation extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/connect/lambdaFunctionAssociation.ts b/sdk/nodejs/connect/lambdaFunctionAssociation.ts index 28a3abab2dc..fe461c1cf04 100644 --- a/sdk/nodejs/connect/lambdaFunctionAssociation.ts +++ b/sdk/nodejs/connect/lambdaFunctionAssociation.ts @@ -22,11 +22,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import { * - * ```sh - * $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example - * ``` + * to = aws_connect_lambda_function_association.example + * + * id = "aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example */ export class LambdaFunctionAssociation extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/dlm/lifecyclePolicy.ts b/sdk/nodejs/dlm/lifecyclePolicy.ts index ecc57ac4c32..5d135ed0b87 100644 --- a/sdk/nodejs/dlm/lifecyclePolicy.ts +++ b/sdk/nodejs/dlm/lifecyclePolicy.ts @@ -55,11 +55,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import DLM lifecycle policies using their policy ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901 - * ``` + * to = aws_dlm_lifecycle_policy.example + * + * id = "policy-abcdef12345678901" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 */ export class LifecyclePolicy extends pulumi.CustomResource { /** @@ -110,7 +110,7 @@ export class LifecyclePolicy extends pulumi.CustomResource { */ public readonly state!: 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. + * 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>; /** @@ -187,7 +187,7 @@ export interface LifecyclePolicyState { */ state?: 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. + * 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}>; /** @@ -217,7 +217,7 @@ export interface LifecyclePolicyArgs { */ state?: 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. + * 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/ec2/networkInterface.ts b/sdk/nodejs/ec2/networkInterface.ts index ffd26b2f220..c2ba19512b3 100644 --- a/sdk/nodejs/ec2/networkInterface.ts +++ b/sdk/nodejs/ec2/networkInterface.ts @@ -45,11 +45,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Network Interfaces using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3 - * ``` + * to = aws_network_interface.test + * + * id = "eni-e5aa89a3" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 */ export class NetworkInterface extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/elasticache/cluster.ts b/sdk/nodejs/elasticache/cluster.ts index 6d25183e5f7..aec36590676 100644 --- a/sdk/nodejs/elasticache/cluster.ts +++ b/sdk/nodejs/elasticache/cluster.ts @@ -282,6 +282,10 @@ export class Cluster extends pulumi.CustomResource { * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + */ + public readonly transitEncryptionEnabled!: pulumi.Output; /** * Create a Cluster resource with the given unique name, arguments, and options. @@ -330,6 +334,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["subnetGroupName"] = state ? state.subnetGroupName : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["transitEncryptionEnabled"] = state ? state.transitEncryptionEnabled : undefined; } else { const args = argsOrState as ClusterArgs | undefined; resourceInputs["applyImmediately"] = args ? args.applyImmediately : undefined; @@ -360,6 +365,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["snapshotWindow"] = args ? args.snapshotWindow : undefined; resourceInputs["subnetGroupName"] = args ? args.subnetGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["transitEncryptionEnabled"] = args ? args.transitEncryptionEnabled : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["cacheNodes"] = undefined /*out*/; resourceInputs["clusterAddress"] = undefined /*out*/; @@ -525,6 +531,10 @@ export interface ClusterState { * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + */ + transitEncryptionEnabled?: pulumi.Input; } /** @@ -656,4 +666,8 @@ export interface ClusterArgs { * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + */ + transitEncryptionEnabled?: pulumi.Input; } diff --git a/sdk/nodejs/emrcontainers/jobTemplate.ts b/sdk/nodejs/emrcontainers/jobTemplate.ts index 941077166f2..7740a20f02a 100644 --- a/sdk/nodejs/emrcontainers/jobTemplate.ts +++ b/sdk/nodejs/emrcontainers/jobTemplate.ts @@ -30,11 +30,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import EKS job templates using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l - * ``` + * to = aws_emrcontainers_job_template.example + * + * id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l */ export class JobTemplate extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/emrcontainers/virtualCluster.ts b/sdk/nodejs/emrcontainers/virtualCluster.ts index c24f7db0bc7..5411af32be1 100644 --- a/sdk/nodejs/emrcontainers/virtualCluster.ts +++ b/sdk/nodejs/emrcontainers/virtualCluster.ts @@ -30,11 +30,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import EKS Clusters using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l - * ``` + * to = aws_emrcontainers_virtual_cluster.example + * + * id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l */ export class VirtualCluster extends pulumi.CustomResource { /** @@ -77,7 +77,7 @@ export class VirtualCluster extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -136,7 +136,7 @@ export interface VirtualClusterState { */ name?: pulumi.Input; /** - * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -158,7 +158,7 @@ export interface VirtualClusterArgs { */ name?: pulumi.Input; /** - * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/emrserverless/application.ts b/sdk/nodejs/emrserverless/application.ts index 98d0fb55c7a..9764213576a 100644 --- a/sdk/nodejs/emrserverless/application.ts +++ b/sdk/nodejs/emrserverless/application.ts @@ -61,11 +61,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import EMR Severless applications using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:emrserverless/application:Application example id - * ``` + * to = aws_emrserverless_application.example + * + * id = "id" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id */ export class Application extends pulumi.CustomResource { /** @@ -136,7 +136,7 @@ export class Application extends pulumi.CustomResource { */ public readonly releaseLabel!: pulumi.Output; /** - * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -246,7 +246,7 @@ export interface ApplicationState { */ releaseLabel?: pulumi.Input; /** - * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -300,7 +300,7 @@ export interface ApplicationArgs { */ releaseLabel: pulumi.Input; /** - * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/fsx/getWindowsFileSystem.ts b/sdk/nodejs/fsx/getWindowsFileSystem.ts index 360065925c8..1fbe8e28fe6 100644 --- a/sdk/nodejs/fsx/getWindowsFileSystem.ts +++ b/sdk/nodejs/fsx/getWindowsFileSystem.ts @@ -82,6 +82,10 @@ export interface GetWindowsFileSystemResult { * The file system deployment type. */ readonly deploymentType: string; + /** + * The SSD IOPS configuration for the file system. + */ + readonly diskIopsConfigurations: outputs.fsx.GetWindowsFileSystemDiskIopsConfiguration[]; /** * DNS name for the file system (e.g. `fs-12345678.corp.example.com`). */ diff --git a/sdk/nodejs/fsx/windowsFileSystem.ts b/sdk/nodejs/fsx/windowsFileSystem.ts index 3d3dd8fbf6d..c1ff0e61138 100644 --- a/sdk/nodejs/fsx/windowsFileSystem.ts +++ b/sdk/nodejs/fsx/windowsFileSystem.ts @@ -104,7 +104,7 @@ export class WindowsFileSystem extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. */ public readonly auditLogConfiguration!: pulumi.Output; /** @@ -127,6 +127,10 @@ export class WindowsFileSystem extends pulumi.CustomResource { * Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. */ public readonly deploymentType!: pulumi.Output; + /** + * The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + */ + public readonly diskIopsConfiguration!: pulumi.Output; /** * DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) */ @@ -160,7 +164,7 @@ export class WindowsFileSystem extends pulumi.CustomResource { */ public readonly securityGroupIds!: pulumi.Output; /** - * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. */ public readonly selfManagedActiveDirectory!: pulumi.Output; /** @@ -224,6 +228,7 @@ export class WindowsFileSystem extends pulumi.CustomResource { resourceInputs["copyTagsToBackups"] = state ? state.copyTagsToBackups : undefined; resourceInputs["dailyAutomaticBackupStartTime"] = state ? state.dailyAutomaticBackupStartTime : undefined; resourceInputs["deploymentType"] = state ? state.deploymentType : undefined; + resourceInputs["diskIopsConfiguration"] = state ? state.diskIopsConfiguration : undefined; resourceInputs["dnsName"] = state ? state.dnsName : undefined; resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; resourceInputs["networkInterfaceIds"] = state ? state.networkInterfaceIds : undefined; @@ -258,6 +263,7 @@ export class WindowsFileSystem extends pulumi.CustomResource { resourceInputs["copyTagsToBackups"] = args ? args.copyTagsToBackups : undefined; resourceInputs["dailyAutomaticBackupStartTime"] = args ? args.dailyAutomaticBackupStartTime : undefined; resourceInputs["deploymentType"] = args ? args.deploymentType : undefined; + resourceInputs["diskIopsConfiguration"] = args ? args.diskIopsConfiguration : undefined; resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; resourceInputs["preferredSubnetId"] = args ? args.preferredSubnetId : undefined; resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; @@ -300,7 +306,7 @@ export interface WindowsFileSystemState { */ arn?: pulumi.Input; /** - * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. */ auditLogConfiguration?: pulumi.Input; /** @@ -323,6 +329,10 @@ export interface WindowsFileSystemState { * Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. */ deploymentType?: pulumi.Input; + /** + * The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + */ + diskIopsConfiguration?: pulumi.Input; /** * DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) */ @@ -356,7 +366,7 @@ export interface WindowsFileSystemState { */ securityGroupIds?: pulumi.Input[]>; /** - * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. */ selfManagedActiveDirectory?: pulumi.Input; /** @@ -412,7 +422,7 @@ export interface WindowsFileSystemArgs { */ aliases?: pulumi.Input[]>; /** - * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. */ auditLogConfiguration?: pulumi.Input; /** @@ -435,6 +445,10 @@ export interface WindowsFileSystemArgs { * Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. */ deploymentType?: pulumi.Input; + /** + * The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + */ + diskIopsConfiguration?: pulumi.Input; /** * ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. */ @@ -448,7 +462,7 @@ export interface WindowsFileSystemArgs { */ securityGroupIds?: pulumi.Input[]>; /** - * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. Detailed below. + * Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `activeDirectoryId`. See Self-Managed Active Directory below. */ selfManagedActiveDirectory?: pulumi.Input; /** diff --git a/sdk/nodejs/gamelift/gameServerGroup.ts b/sdk/nodejs/gamelift/gameServerGroup.ts index 9d020cd4b06..c95bff20efc 100644 --- a/sdk/nodejs/gamelift/gameServerGroup.ts +++ b/sdk/nodejs/gamelift/gameServerGroup.ts @@ -110,11 +110,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import GameLift Game Server Group using the `name`. For example: + * In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example - * ``` + * to = aws_gamelift_game_server_group.example + * + * id = "example" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example */ export class GameServerGroup extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/getDefaultTags.ts b/sdk/nodejs/getDefaultTags.ts index d460b9a10f5..01ba5a45487 100644 --- a/sdk/nodejs/getDefaultTags.ts +++ b/sdk/nodejs/getDefaultTags.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage @@ -48,7 +48,7 @@ export interface GetDefaultTagsResult { /** * Use this data source to get the default tags configured on the provider. * - * With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + * With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. * * ## Example Usage * ### Basic Usage diff --git a/sdk/nodejs/glue/catalogTable.ts b/sdk/nodejs/glue/catalogTable.ts index 13f522cdbb5..4b95c9b6b03 100644 --- a/sdk/nodejs/glue/catalogTable.ts +++ b/sdk/nodejs/glue/catalogTable.ts @@ -134,6 +134,10 @@ export class CatalogTable extends pulumi.CustomResource { * Name of the table. For Hive compatibility, this must be entirely lowercase. */ public readonly name!: pulumi.Output; + /** + * Configuration block for open table formats. See `openTableFormatInput` below. + */ + public readonly openTableFormatInput!: pulumi.Output; /** * Owner of the table. */ @@ -193,6 +197,7 @@ export class CatalogTable extends pulumi.CustomResource { resourceInputs["databaseName"] = state ? state.databaseName : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["openTableFormatInput"] = state ? state.openTableFormatInput : undefined; resourceInputs["owner"] = state ? state.owner : undefined; resourceInputs["parameters"] = state ? state.parameters : undefined; resourceInputs["partitionIndices"] = state ? state.partitionIndices : undefined; @@ -212,6 +217,7 @@ export class CatalogTable extends pulumi.CustomResource { resourceInputs["databaseName"] = args ? args.databaseName : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["openTableFormatInput"] = args ? args.openTableFormatInput : undefined; resourceInputs["owner"] = args ? args.owner : undefined; resourceInputs["parameters"] = args ? args.parameters : undefined; resourceInputs["partitionIndices"] = args ? args.partitionIndices : undefined; @@ -255,6 +261,10 @@ export interface CatalogTableState { * Name of the table. For Hive compatibility, this must be entirely lowercase. */ name?: pulumi.Input; + /** + * Configuration block for open table formats. See `openTableFormatInput` below. + */ + openTableFormatInput?: pulumi.Input; /** * Owner of the table. */ @@ -319,6 +329,10 @@ export interface CatalogTableArgs { * Name of the table. For Hive compatibility, this must be entirely lowercase. */ name?: pulumi.Input; + /** + * Configuration block for open table formats. See `openTableFormatInput` below. + */ + openTableFormatInput?: pulumi.Input; /** * Owner of the table. */ diff --git a/sdk/nodejs/glue/devEndpoint.ts b/sdk/nodejs/glue/devEndpoint.ts index 9524def8a20..61e16742402 100644 --- a/sdk/nodejs/glue/devEndpoint.ts +++ b/sdk/nodejs/glue/devEndpoint.ts @@ -34,11 +34,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example: + * In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo - * ``` + * to = aws_glue_dev_endpoint.example + * + * id = "foo" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo */ export class DevEndpoint extends pulumi.CustomResource { /** @@ -145,7 +145,7 @@ export class DevEndpoint extends pulumi.CustomResource { */ public readonly subnetId!: 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. + * 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>; /** @@ -324,7 +324,7 @@ export interface DevEndpointState { */ subnetId?: 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. + * 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}>; /** @@ -406,7 +406,7 @@ export interface DevEndpointArgs { */ subnetId?: 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. + * 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/iam/getSessionContext.ts b/sdk/nodejs/iam/getSessionContext.ts index 59cf00397f6..1629c48abe0 100644 --- a/sdk/nodejs/iam/getSessionContext.ts +++ b/sdk/nodejs/iam/getSessionContext.ts @@ -20,7 +20,7 @@ import * as utilities from "../utilities"; * arn: "arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes", * }); * ``` - * ### Find the Provider's Source Role + * ### Find the TODO Runner's Source Role * * Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. * @@ -49,7 +49,7 @@ export interface GetSessionContextArgs { /** * ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. */ arn: string; } @@ -96,7 +96,7 @@ export interface GetSessionContextResult { * arn: "arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes", * }); * ``` - * ### Find the Provider's Source Role + * ### Find the TODO Runner's Source Role * * Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. * @@ -121,7 +121,7 @@ export interface GetSessionContextOutputArgs { /** * ARN for an assumed role. * - * > If `arn` is a non-role ARN, the provider gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + * > If `arn` is a non-role ARN, TODO gives no error and `issuerArn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. */ arn: pulumi.Input; } diff --git a/sdk/nodejs/iam/groupPolicyAttachment.ts b/sdk/nodejs/iam/groupPolicyAttachment.ts index ef722404508..b6831fddc29 100644 --- a/sdk/nodejs/iam/groupPolicyAttachment.ts +++ b/sdk/nodejs/iam/groupPolicyAttachment.ts @@ -31,11 +31,11 @@ import {Group} from "./index"; * * ## Import * - * Using `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example: + * In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - * ``` + * to = aws_iam_group_policy_attachment.test-attach + * + * id = "test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy */ export class GroupPolicyAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/iam/rolePolicyAttachment.ts b/sdk/nodejs/iam/rolePolicyAttachment.ts index b9bff54a349..1eb03409332 100644 --- a/sdk/nodejs/iam/rolePolicyAttachment.ts +++ b/sdk/nodejs/iam/rolePolicyAttachment.ts @@ -12,7 +12,7 @@ import {Role} from "./index"; * * > **NOTE:** The usage of this resource conflicts with the `aws.iam.PolicyAttachment` resource and will permanently show a difference if both are defined. * - * > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managedPolicyArns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + * > **NOTE:** For a given role, this resource is incompatible with using the `aws.iam.Role` resource `managedPolicyArns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference. * * ## Example Usage * @@ -50,11 +50,11 @@ import {Role} from "./index"; * * ## Import * - * Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: + * In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - * ``` + * to = aws_iam_role_policy_attachment.test-attach + * + * id = "test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy */ export class RolePolicyAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/iam/userPolicyAttachment.ts b/sdk/nodejs/iam/userPolicyAttachment.ts index 821ac31c896..ccc32cec1f6 100644 --- a/sdk/nodejs/iam/userPolicyAttachment.ts +++ b/sdk/nodejs/iam/userPolicyAttachment.ts @@ -31,11 +31,11 @@ import {User} from "./index"; * * ## Import * - * Using `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example: + * In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - * ``` + * to = aws_iam_user_policy_attachment.test-attach + * + * id = "test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy */ export class UserPolicyAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/identitystore/getGroup.ts b/sdk/nodejs/identitystore/getGroup.ts index 79b1820aa6a..b11a193211c 100644 --- a/sdk/nodejs/identitystore/getGroup.ts +++ b/sdk/nodejs/identitystore/getGroup.ts @@ -15,6 +15,7 @@ export function getGroup(args: GetGroupArgs, opts?: pulumi.InvokeOptions): Promi opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws:identitystore/getGroup:getGroup", { "alternateIdentifier": args.alternateIdentifier, + "filter": args.filter, "groupId": args.groupId, "identityStoreId": args.identityStoreId, }, opts); @@ -25,13 +26,19 @@ export function getGroup(args: GetGroupArgs, opts?: pulumi.InvokeOptions): Promi */ export interface GetGroupArgs { /** - * A unique identifier for the group that is not the primary identifier. Conflicts with `groupId`. Detailed below. + * A unique identifier for the group that is not the primary identifier. Conflicts with `groupId` and `filter`. Detailed below. */ alternateIdentifier?: inputs.identitystore.GetGroupAlternateIdentifier; + /** + * Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @deprecated Use the alternate_identifier attribute instead. + */ + filter?: inputs.identitystore.GetGroupFilter; /** * The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `groupId` is allowed for backwards compatibility. */ groupId?: string; /** @@ -59,6 +66,10 @@ export interface GetGroupResult { * List of identifiers issued to this resource by an external identity provider. */ readonly externalIds: outputs.identitystore.GetGroupExternalId[]; + /** + * @deprecated Use the alternate_identifier attribute instead. + */ + readonly filter?: outputs.identitystore.GetGroupFilter; readonly groupId: string; /** * The provider-assigned unique ID for this managed resource. @@ -78,13 +89,19 @@ export function getGroupOutput(args: GetGroupOutputArgs, opts?: pulumi.InvokeOpt */ export interface GetGroupOutputArgs { /** - * A unique identifier for the group that is not the primary identifier. Conflicts with `groupId`. Detailed below. + * A unique identifier for the group that is not the primary identifier. Conflicts with `groupId` and `filter`. Detailed below. */ alternateIdentifier?: pulumi.Input; + /** + * Configuration block for filtering by a unique attribute of the group. Detailed below. + * + * @deprecated Use the alternate_identifier attribute instead. + */ + filter?: pulumi.Input; /** * The identifier for a group in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `groupId` is allowed for backwards compatibility. */ groupId?: pulumi.Input; /** diff --git a/sdk/nodejs/identitystore/getUser.ts b/sdk/nodejs/identitystore/getUser.ts index ea13a678c1f..3c71cf88707 100644 --- a/sdk/nodejs/identitystore/getUser.ts +++ b/sdk/nodejs/identitystore/getUser.ts @@ -15,6 +15,7 @@ export function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws:identitystore/getUser:getUser", { "alternateIdentifier": args.alternateIdentifier, + "filter": args.filter, "identityStoreId": args.identityStoreId, "userId": args.userId, }, opts); @@ -25,9 +26,15 @@ export function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise */ export interface GetUserArgs { /** - * A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId`. Detailed below. + * A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId` and `filter`. Detailed below. */ alternateIdentifier?: inputs.identitystore.GetUserAlternateIdentifier; + /** + * Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @deprecated Use the alternate_identifier attribute instead. + */ + filter?: inputs.identitystore.GetUserFilter; /** * Identity Store ID associated with the Single Sign-On Instance. * @@ -37,7 +44,7 @@ export interface GetUserArgs { /** * The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `userId` is allowed for backwards compatibility. */ userId?: string; } @@ -63,6 +70,10 @@ export interface GetUserResult { * List of identifiers issued to this resource by an external identity provider. */ readonly externalIds: outputs.identitystore.GetUserExternalId[]; + /** + * @deprecated Use the alternate_identifier attribute instead. + */ + readonly filter?: outputs.identitystore.GetUserFilter; /** * The provider-assigned unique ID for this managed resource. */ @@ -122,9 +133,15 @@ export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptio */ export interface GetUserOutputArgs { /** - * A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId`. Detailed below. + * A unique identifier for a user or group that is not the primary identifier. Conflicts with `userId` and `filter`. Detailed below. */ alternateIdentifier?: pulumi.Input; + /** + * Configuration block for filtering by a unique attribute of the user. Detailed below. + * + * @deprecated Use the alternate_identifier attribute instead. + */ + filter?: pulumi.Input; /** * Identity Store ID associated with the Single Sign-On Instance. * @@ -134,7 +151,7 @@ export interface GetUserOutputArgs { /** * The identifier for a user in the Identity Store. * - * > Exactly one of the above arguments must be provided. + * > Exactly one of the above arguments must be provided. Passing both `filter` and `userId` is allowed for backwards compatibility. */ userId?: pulumi.Input; } diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index d4049691dc1..76c230257cb 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -258,6 +258,7 @@ import * as timestreamwrite from "./timestreamwrite"; import * as transcribe from "./transcribe"; import * as transfer from "./transfer"; import * as types from "./types"; +import * as verifiedaccess from "./verifiedaccess"; import * as vpc from "./vpc"; import * as vpclattice from "./vpclattice"; import * as waf from "./waf"; @@ -452,6 +453,7 @@ export { transcribe, transfer, types, + verifiedaccess, vpc, vpclattice, waf, diff --git a/sdk/nodejs/iot/provisioningTemplate.ts b/sdk/nodejs/iot/provisioningTemplate.ts index 8d9e2f54b75..b5ee12555d6 100644 --- a/sdk/nodejs/iot/provisioningTemplate.ts +++ b/sdk/nodejs/iot/provisioningTemplate.ts @@ -43,6 +43,7 @@ import * as utilities from "../utilities"; * const fleet = new aws.iot.ProvisioningTemplate("fleet", { * description: "My provisioning template", * provisioningRoleArn: iotFleetProvisioning.arn, + * enabled: true, * templateBody: devicePolicyPolicy.name.apply(name => JSON.stringify({ * Parameters: { * SerialNumber: { diff --git a/sdk/nodejs/lambda/getFunctionUrl.ts b/sdk/nodejs/lambda/getFunctionUrl.ts index 793fe7ebd52..b3a5dab33d0 100644 --- a/sdk/nodejs/lambda/getFunctionUrl.ts +++ b/sdk/nodejs/lambda/getFunctionUrl.ts @@ -37,7 +37,7 @@ export function getFunctionUrl(args: GetFunctionUrlArgs, opts?: pulumi.InvokeOpt */ export interface GetFunctionUrlArgs { /** - * he name (or ARN) of the Lambda function. + * The name (or ARN) of the Lambda function. */ functionName: string; /** @@ -114,7 +114,7 @@ export function getFunctionUrlOutput(args: GetFunctionUrlOutputArgs, opts?: pulu */ export interface GetFunctionUrlOutputArgs { /** - * he name (or ARN) of the Lambda function. + * The name (or ARN) of the Lambda function. */ functionName: pulumi.Input; /** diff --git a/sdk/nodejs/licensemanager/association.ts b/sdk/nodejs/licensemanager/association.ts index 85fb687d779..2e2c87bf1ff 100644 --- a/sdk/nodejs/licensemanager/association.ts +++ b/sdk/nodejs/licensemanager/association.ts @@ -36,11 +36,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - * ``` + * to = aws_licensemanager_association.example + * + * id = "arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef */ export class Association extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/licensemanager/licenseConfiguration.ts b/sdk/nodejs/licensemanager/licenseConfiguration.ts index 708599d7b08..4e884370f94 100644 --- a/sdk/nodejs/licensemanager/licenseConfiguration.ts +++ b/sdk/nodejs/licensemanager/licenseConfiguration.ts @@ -7,7 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a License Manager license configuration resource. * - * > **Note:** Removing the `licenseCount` attribute is not supported by the License Manager API - recreate the resource instead. + * > **Note:** Removing the `licenseCount` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.` to recreate the resource instead. * * ## Example Usage * @@ -40,11 +40,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import license configurations using the `id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - * ``` + * to = aws_licensemanager_license_configuration.example + * + * id = "arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef */ export class LicenseConfiguration extends pulumi.CustomResource { /** @@ -107,7 +107,7 @@ export class LicenseConfiguration extends pulumi.CustomResource { */ public /*out*/ readonly ownerAccountId!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -196,7 +196,7 @@ export interface LicenseConfigurationState { */ ownerAccountId?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -234,7 +234,7 @@ export interface LicenseConfigurationArgs { */ name?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/opensearch/domain.ts b/sdk/nodejs/opensearch/domain.ts index 570028edca5..84f446b3c3f 100644 --- a/sdk/nodejs/opensearch/domain.ts +++ b/sdk/nodejs/opensearch/domain.ts @@ -377,6 +377,10 @@ export class Domain extends pulumi.CustomResource { * Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. */ public readonly snapshotOptions!: pulumi.Output; + /** + * Software update options for the domain. Detailed below. + */ + public readonly softwareUpdateOptions!: pulumi.Output; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ @@ -425,6 +429,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["nodeToNodeEncryption"] = state ? state.nodeToNodeEncryption : undefined; resourceInputs["offPeakWindowOptions"] = state ? state.offPeakWindowOptions : undefined; resourceInputs["snapshotOptions"] = state ? state.snapshotOptions : undefined; + resourceInputs["softwareUpdateOptions"] = state ? state.softwareUpdateOptions : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["vpcOptions"] = state ? state.vpcOptions : undefined; @@ -445,6 +450,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["nodeToNodeEncryption"] = args ? args.nodeToNodeEncryption : undefined; resourceInputs["offPeakWindowOptions"] = args ? args.offPeakWindowOptions : undefined; resourceInputs["snapshotOptions"] = args ? args.snapshotOptions : undefined; + resourceInputs["softwareUpdateOptions"] = args ? args.softwareUpdateOptions : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["vpcOptions"] = args ? args.vpcOptions : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -549,6 +555,10 @@ export interface DomainState { * Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. */ snapshotOptions?: pulumi.Input; + /** + * Software update options for the domain. Detailed below. + */ + softwareUpdateOptions?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ @@ -633,6 +643,10 @@ export interface DomainArgs { * Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. */ snapshotOptions?: pulumi.Input; + /** + * Software update options for the domain. Detailed below. + */ + softwareUpdateOptions?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ diff --git a/sdk/nodejs/opensearch/getDomain.ts b/sdk/nodejs/opensearch/getDomain.ts index fa51b90b4ce..6c27284328a 100644 --- a/sdk/nodejs/opensearch/getDomain.ts +++ b/sdk/nodejs/opensearch/getDomain.ts @@ -144,6 +144,10 @@ export interface GetDomainResult { * Domain snapshot related options. */ readonly snapshotOptions: outputs.opensearch.GetDomainSnapshotOption[]; + /** + * Software update options for the domain + */ + readonly softwareUpdateOptions: outputs.opensearch.GetDomainSoftwareUpdateOption[]; /** * Tags assigned to the domain. */ diff --git a/sdk/nodejs/pinpoint/admChannel.ts b/sdk/nodejs/pinpoint/admChannel.ts index f68ab2309b3..1243a613cb1 100644 --- a/sdk/nodejs/pinpoint/admChannel.ts +++ b/sdk/nodejs/pinpoint/admChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource. * + * > **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -24,11 +25,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id - * ``` + * to = aws_pinpoint_adm_channel.channel + * + * id = "application-id" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id */ export class AdmChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/apnsChannel.ts b/sdk/nodejs/pinpoint/apnsChannel.ts index cf1d874e925..1fbec38b2b9 100644 --- a/sdk/nodejs/pinpoint/apnsChannel.ts +++ b/sdk/nodejs/pinpoint/apnsChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint APNs Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -24,11 +25,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id - * ``` + * to = aws_pinpoint_apns_channel.apns + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id */ export class ApnsChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/apnsSandboxChannel.ts b/sdk/nodejs/pinpoint/apnsSandboxChannel.ts index 76fd2f77403..66469be1c0d 100644 --- a/sdk/nodejs/pinpoint/apnsSandboxChannel.ts +++ b/sdk/nodejs/pinpoint/apnsSandboxChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint APNs Sandbox Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -24,11 +25,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id - * ``` + * to = aws_pinpoint_apns_sandbox_channel.apns_sandbox + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id */ export class ApnsSandboxChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/apnsVoipChannel.ts b/sdk/nodejs/pinpoint/apnsVoipChannel.ts index 71ab1f85ee4..43a8a27bb71 100644 --- a/sdk/nodejs/pinpoint/apnsVoipChannel.ts +++ b/sdk/nodejs/pinpoint/apnsVoipChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint APNs VoIP Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -24,11 +25,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id - * ``` + * to = aws_pinpoint_apns_voip_channel.apns_voip + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id */ export class ApnsVoipChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/apnsVoipSandboxChannel.ts b/sdk/nodejs/pinpoint/apnsVoipSandboxChannel.ts index b4c1025cfd3..99fdbde9ea1 100644 --- a/sdk/nodejs/pinpoint/apnsVoipSandboxChannel.ts +++ b/sdk/nodejs/pinpoint/apnsVoipSandboxChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint APNs VoIP Sandbox Channel resource. * + * > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -24,11 +25,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id - * ``` + * to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox + * + * id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id */ export class ApnsVoipSandboxChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/app.ts b/sdk/nodejs/pinpoint/app.ts index 30aa1a36c99..2b423f67cda 100644 --- a/sdk/nodejs/pinpoint/app.ts +++ b/sdk/nodejs/pinpoint/app.ts @@ -29,11 +29,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint App using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/app:App name application-id - * ``` + * to = aws_pinpoint_app.name + * + * id = "application-id" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id */ export class App extends pulumi.CustomResource { /** @@ -80,7 +80,7 @@ export class App extends pulumi.CustomResource { */ public readonly limits!: pulumi.Output; /** - * The application name. By default generated by this provider + * The application name. By default generated by TODO */ public readonly name!: pulumi.Output; /** @@ -92,7 +92,7 @@ export class App extends pulumi.CustomResource { */ public readonly quietTime!: 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. + * 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>; /** @@ -160,7 +160,7 @@ export interface AppState { */ limits?: pulumi.Input; /** - * The application name. By default generated by this provider + * The application name. By default generated by TODO */ name?: pulumi.Input; /** @@ -172,7 +172,7 @@ export interface AppState { */ quietTime?: 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. + * 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}>; /** @@ -194,7 +194,7 @@ export interface AppArgs { */ limits?: pulumi.Input; /** - * The application name. By default generated by this provider + * The application name. By default generated by TODO */ name?: pulumi.Input; /** @@ -206,7 +206,7 @@ export interface AppArgs { */ quietTime?: 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. + * 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/baiduChannel.ts b/sdk/nodejs/pinpoint/baiduChannel.ts index 350de831e66..a658aa6b9a5 100644 --- a/sdk/nodejs/pinpoint/baiduChannel.ts +++ b/sdk/nodejs/pinpoint/baiduChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint Baidu Channel resource. * + * > **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -23,11 +24,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id - * ``` + * to = aws_pinpoint_baidu_channel.channel + * + * id = "application-id" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id */ export class BaiduChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/emailChannel.ts b/sdk/nodejs/pinpoint/emailChannel.ts index f2d972cd14b..e36645522aa 100644 --- a/sdk/nodejs/pinpoint/emailChannel.ts +++ b/sdk/nodejs/pinpoint/emailChannel.ts @@ -49,11 +49,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id - * ``` + * to = aws_pinpoint_email_channel.email + * + * id = "application-id" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id */ export class EmailChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/eventStream.ts b/sdk/nodejs/pinpoint/eventStream.ts index 6c33c0f726b..0b35e9fdb68 100644 --- a/sdk/nodejs/pinpoint/eventStream.ts +++ b/sdk/nodejs/pinpoint/eventStream.ts @@ -49,11 +49,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id - * ``` + * to = aws_pinpoint_event_stream.stream + * + * id = "application-id" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id */ export class EventStream extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/gcmChannel.ts b/sdk/nodejs/pinpoint/gcmChannel.ts index c710b652f9d..6b33c2da4eb 100644 --- a/sdk/nodejs/pinpoint/gcmChannel.ts +++ b/sdk/nodejs/pinpoint/gcmChannel.ts @@ -7,6 +7,7 @@ import * as utilities from "../utilities"; /** * Provides a Pinpoint GCM Channel resource. * + * > **Note:** Api Key argument will be stored in the raw state as plain-text. * ## Example Usage * * ```typescript @@ -22,11 +23,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id - * ``` + * to = aws_pinpoint_gcm_channel.gcm + * + * id = "application-id" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id */ export class GcmChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/pinpoint/smsChannel.ts b/sdk/nodejs/pinpoint/smsChannel.ts index 3f67c91ba01..a5e0b3a6087 100644 --- a/sdk/nodejs/pinpoint/smsChannel.ts +++ b/sdk/nodejs/pinpoint/smsChannel.ts @@ -19,11 +19,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example: + * In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id - * ``` + * to = aws_pinpoint_sms_channel.sms + * + * id = "application-id" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id */ export class SmsChannel extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ram/principalAssociation.ts b/sdk/nodejs/ram/principalAssociation.ts index 768cd79f59c..da11b0513bd 100644 --- a/sdk/nodejs/ram/principalAssociation.ts +++ b/sdk/nodejs/ram/principalAssociation.ts @@ -44,11 +44,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example: + * In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 - * ``` + * to = aws_ram_principal_association.example + * + * id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 */ export class PrincipalAssociation extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ram/resourceShare.ts b/sdk/nodejs/ram/resourceShare.ts index abab82f7061..0635d9af4d0 100644 --- a/sdk/nodejs/ram/resourceShare.ts +++ b/sdk/nodejs/ram/resourceShare.ts @@ -23,11 +23,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import resource shares using the `arn` of the resource share. For example: + * In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 - * ``` + * to = aws_ram_resource_share.example + * + * id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 */ export class ResourceShare extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ram/resourceShareAccepter.ts b/sdk/nodejs/ram/resourceShareAccepter.ts index 43dbc6d3712..3412dddafc9 100644 --- a/sdk/nodejs/ram/resourceShareAccepter.ts +++ b/sdk/nodejs/ram/resourceShareAccepter.ts @@ -11,7 +11,7 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * This configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`. + * This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws.ram.ResourceShare` and uses a data source in the _receiver_ account to create a `aws.ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws.ram.ResourceShareAccepter`. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; @@ -38,11 +38,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import resource share accepters using the resource share ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 - * ``` + * to = aws_ram_resource_share_accepter.example + * + * id = "arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 */ export class ResourceShareAccepter extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/rds/clusterParameterGroup.ts b/sdk/nodejs/rds/clusterParameterGroup.ts index 893bc7dfbea..f6aff0d38e4 100644 --- a/sdk/nodejs/rds/clusterParameterGroup.ts +++ b/sdk/nodejs/rds/clusterParameterGroup.ts @@ -37,11 +37,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example: + * In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1 - * ``` + * to = aws_rds_cluster_parameter_group.cluster_pg + * + * id = "production-pg-1" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 */ export class ClusterParameterGroup extends pulumi.CustomResource { /** @@ -76,7 +76,7 @@ export class ClusterParameterGroup extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * The description of the DB cluster parameter group. Defaults to "Managed by TODO". */ public readonly description!: pulumi.Output; /** @@ -96,7 +96,7 @@ export class ClusterParameterGroup extends pulumi.CustomResource { */ public readonly parameters!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -153,7 +153,7 @@ export interface ClusterParameterGroupState { */ arn?: pulumi.Input; /** - * The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * The description of the DB cluster parameter group. Defaults to "Managed by TODO". */ description?: pulumi.Input; /** @@ -173,7 +173,7 @@ export interface ClusterParameterGroupState { */ parameters?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -187,7 +187,7 @@ export interface ClusterParameterGroupState { */ export interface ClusterParameterGroupArgs { /** - * The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + * The description of the DB cluster parameter group. Defaults to "Managed by TODO". */ description?: pulumi.Input; /** @@ -207,7 +207,7 @@ export interface ClusterParameterGroupArgs { */ parameters?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/rds/instanceAutomatedBackupsReplication.ts b/sdk/nodejs/rds/instanceAutomatedBackupsReplication.ts index 566ddc67af1..36b58f50b19 100644 --- a/sdk/nodejs/rds/instanceAutomatedBackupsReplication.ts +++ b/sdk/nodejs/rds/instanceAutomatedBackupsReplication.ts @@ -67,11 +67,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my - * ``` + * to = aws_db_instance_automated_backups_replication.default + * + * id = "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my */ export class InstanceAutomatedBackupsReplication extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/route53/resolverFirewallConfig.ts b/sdk/nodejs/route53/resolverFirewallConfig.ts index bdcd7c29a30..a84408ba33f 100644 --- a/sdk/nodejs/route53/resolverFirewallConfig.ts +++ b/sdk/nodejs/route53/resolverFirewallConfig.ts @@ -26,11 +26,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95 - * ``` + * to = aws_route53_resolver_firewall_config.example + * + * id = "rdsc-be1866ecc1683e95" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 */ export class ResolverFirewallConfig extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/route53/resolverFirewallDomainList.ts b/sdk/nodejs/route53/resolverFirewallDomainList.ts index 667bf5eb01b..b0d8405d224 100644 --- a/sdk/nodejs/route53/resolverFirewallDomainList.ts +++ b/sdk/nodejs/route53/resolverFirewallDomainList.ts @@ -18,13 +18,15 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import + * In TODO v1.5.0 and later, use an `import` block to import * - * Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example: + * Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_domain_list.example + * + * id = "rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + * + * Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef */ export class ResolverFirewallDomainList extends pulumi.CustomResource { /** @@ -67,7 +69,7 @@ export class ResolverFirewallDomainList extends pulumi.CustomResource { */ public readonly name!: 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. + * A map of tags to assign to the resource. f 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>; /** @@ -123,7 +125,7 @@ export interface ResolverFirewallDomainListState { */ name?: 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. + * A map of tags to assign to the resource. f 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}>; /** @@ -145,7 +147,7 @@ export interface ResolverFirewallDomainListArgs { */ name?: 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. + * A map of tags to assign to the resource. f 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/route53/resolverFirewallRule.ts b/sdk/nodejs/route53/resolverFirewallRule.ts index 4fbf349e1d7..6010a535c3b 100644 --- a/sdk/nodejs/route53/resolverFirewallRule.ts +++ b/sdk/nodejs/route53/resolverFirewallRule.ts @@ -32,13 +32,15 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import + * In TODO v1.5.0 and later, use an `import` block to import * - * Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example: + * Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_rule.example + * + * id = "rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + * + * Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef */ export class ResolverFirewallRule extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/route53/resolverFirewallRuleGroup.ts b/sdk/nodejs/route53/resolverFirewallRuleGroup.ts index 83d100ff06f..85473a56c1d 100644 --- a/sdk/nodejs/route53/resolverFirewallRuleGroup.ts +++ b/sdk/nodejs/route53/resolverFirewallRuleGroup.ts @@ -18,13 +18,15 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import + * In TODO v1.5.0 and later, use an `import` block to import * - * Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example: + * Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_rule_group.example + * + * id = "rslvr-frg-0123456789abcdef" } Using `TODO import`, import + * + * Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef */ export class ResolverFirewallRuleGroup extends pulumi.CustomResource { /** @@ -71,7 +73,7 @@ export class ResolverFirewallRuleGroup extends pulumi.CustomResource { */ public /*out*/ readonly shareStatus!: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -133,7 +135,7 @@ export interface ResolverFirewallRuleGroupState { */ shareStatus?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -151,7 +153,7 @@ export interface ResolverFirewallRuleGroupArgs { */ name?: 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. + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/route53/resolverFirewallRuleGroupAssociation.ts b/sdk/nodejs/route53/resolverFirewallRuleGroupAssociation.ts index 31464f601e4..97a91f49b13 100644 --- a/sdk/nodejs/route53/resolverFirewallRuleGroupAssociation.ts +++ b/sdk/nodejs/route53/resolverFirewallRuleGroupAssociation.ts @@ -23,11 +23,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef - * ``` + * to = aws_route53_resolver_firewall_rule_group_association.example + * + * id = "rslvr-frgassoc-0123456789abcdef" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef */ export class ResolverFirewallRuleGroupAssociation extends pulumi.CustomResource { /** @@ -78,7 +78,7 @@ export class ResolverFirewallRuleGroupAssociation extends pulumi.CustomResource */ public readonly priority!: 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. + * 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>; /** @@ -161,7 +161,7 @@ export interface ResolverFirewallRuleGroupAssociationState { */ priority?: 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. + * 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}>; /** @@ -195,7 +195,7 @@ export interface ResolverFirewallRuleGroupAssociationArgs { */ priority: 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. + * 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/s3/getObjects.ts b/sdk/nodejs/s3/getObjects.ts index 86b43d484af..4dc02531ad2 100644 --- a/sdk/nodejs/s3/getObjects.ts +++ b/sdk/nodejs/s3/getObjects.ts @@ -19,6 +19,7 @@ export function getObjects(args: GetObjectsArgs, opts?: pulumi.InvokeOptions): P "fetchOwner": args.fetchOwner, "maxKeys": args.maxKeys, "prefix": args.prefix, + "requestPayer": args.requestPayer, "startAfter": args.startAfter, }, opts); } @@ -51,6 +52,10 @@ export interface GetObjectsArgs { * Limits results to object keys with this prefix (Default: none) */ prefix?: string; + /** + * Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + */ + requestPayer?: string; /** * Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) */ @@ -83,6 +88,11 @@ export interface GetObjectsResult { */ readonly owners: string[]; readonly prefix?: string; + /** + * If present, indicates that the requester was successfully charged for the request. + */ + readonly requestCharged: string; + readonly requestPayer?: string; readonly startAfter?: string; } /** @@ -122,6 +132,10 @@ export interface GetObjectsOutputArgs { * Limits results to object keys with this prefix (Default: none) */ prefix?: pulumi.Input; + /** + * Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. + */ + requestPayer?: pulumi.Input; /** * Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) */ diff --git a/sdk/nodejs/s3control/objectLambdaAccessPoint.ts b/sdk/nodejs/s3control/objectLambdaAccessPoint.ts index 13fb7b4b154..ca74710673c 100644 --- a/sdk/nodejs/s3control/objectLambdaAccessPoint.ts +++ b/sdk/nodejs/s3control/objectLambdaAccessPoint.ts @@ -72,6 +72,10 @@ export class ObjectLambdaAccessPoint extends pulumi.CustomResource { * The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. */ public readonly accountId!: pulumi.Output; + /** + * Alias for the S3 Object Lambda Access Point. + */ + public /*out*/ readonly alias!: pulumi.Output; /** * Amazon Resource Name (ARN) of the Object Lambda Access Point. */ @@ -99,6 +103,7 @@ export class ObjectLambdaAccessPoint extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ObjectLambdaAccessPointState | undefined; resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["alias"] = state ? state.alias : undefined; resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["configuration"] = state ? state.configuration : undefined; resourceInputs["name"] = state ? state.name : undefined; @@ -110,6 +115,7 @@ export class ObjectLambdaAccessPoint extends pulumi.CustomResource { resourceInputs["accountId"] = args ? args.accountId : undefined; resourceInputs["configuration"] = args ? args.configuration : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["alias"] = undefined /*out*/; resourceInputs["arn"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -125,6 +131,10 @@ export interface ObjectLambdaAccessPointState { * The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. */ accountId?: pulumi.Input; + /** + * Alias for the S3 Object Lambda Access Point. + */ + alias?: pulumi.Input; /** * Amazon Resource Name (ARN) of the Object Lambda Access Point. */ diff --git a/sdk/nodejs/securityhub/account.ts b/sdk/nodejs/securityhub/account.ts index 3007e17cb47..f07eca71f47 100644 --- a/sdk/nodejs/securityhub/account.ts +++ b/sdk/nodejs/securityhub/account.ts @@ -20,11 +20,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/account:Account example 123456789012 - * ``` + * to = aws_securityhub_account.example + * + * id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 */ export class Account extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/securityhub/findingAggregator.ts b/sdk/nodejs/securityhub/findingAggregator.ts index 3cfef08565b..99d113ec74d 100644 --- a/sdk/nodejs/securityhub/findingAggregator.ts +++ b/sdk/nodejs/securityhub/findingAggregator.ts @@ -62,11 +62,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 - * ``` + * to = aws_securityhub_finding_aggregator.example + * + * id = "arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 */ export class FindingAggregator extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/securityhub/inviteAccepter.ts b/sdk/nodejs/securityhub/inviteAccepter.ts index 1e3b2ed51bd..b13b21649ad 100644 --- a/sdk/nodejs/securityhub/inviteAccepter.ts +++ b/sdk/nodejs/securityhub/inviteAccepter.ts @@ -32,11 +32,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012 - * ``` + * to = aws_securityhub_invite_accepter.example + * + * id = "123456789012" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 */ export class InviteAccepter extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/securityhub/member.ts b/sdk/nodejs/securityhub/member.ts index 7134f6ded0f..a167350c020 100644 --- a/sdk/nodejs/securityhub/member.ts +++ b/sdk/nodejs/securityhub/member.ts @@ -25,11 +25,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Security Hub members using their account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/member:Member example 123456789012 - * ``` + * to = aws_securityhub_member.example + * + * id = "123456789012" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 */ export class Member extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/securityhub/organizationConfiguration.ts b/sdk/nodejs/securityhub/organizationConfiguration.ts index eef2ec25a71..33f92d52a24 100644 --- a/sdk/nodejs/securityhub/organizationConfiguration.ts +++ b/sdk/nodejs/securityhub/organizationConfiguration.ts @@ -7,9 +7,9 @@ import * as utilities from "../utilities"; /** * Manages the Security Hub Organization Configuration. * - * > **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation + * > **NOTE:** This resource requires an `aws.securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation * - * > **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration. + * > **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration. * * ## Example Usage * @@ -29,11 +29,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + * In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012 - * ``` + * to = aws_securityhub_organization_configuration.example + * + * id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 */ export class OrganizationConfiguration extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/securityhub/productSubscription.ts b/sdk/nodejs/securityhub/productSubscription.ts index a3484fbfbac..71bbd74c70b 100644 --- a/sdk/nodejs/securityhub/productSubscription.ts +++ b/sdk/nodejs/securityhub/productSubscription.ts @@ -22,11 +22,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement - * ``` + * to = aws_securityhub_product_subscription.example + * + * id = "arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement */ export class ProductSubscription extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/securityhub/standardsControl.ts b/sdk/nodejs/securityhub/standardsControl.ts index 6422c60188d..0a58e8e4410 100644 --- a/sdk/nodejs/securityhub/standardsControl.ts +++ b/sdk/nodejs/securityhub/standardsControl.ts @@ -8,8 +8,8 @@ import * as utilities from "../utilities"; * Disable/enable Security Hub standards control in the current region. * * The `aws.securityhub.StandardsControl` behaves differently from normal resources, in that - * The provider does not _create_ this resource, but instead "adopts" it - * into management. When you _delete_ this resource configuration, the provider "abandons" resource as is and just removes it from the state. + * TODO does not _create_ this resource, but instead "adopts" it + * into management. When you _delete_ this resource configuration, TODO "abandons" resource as is and just removes it from the state. * * ## Example Usage * diff --git a/sdk/nodejs/securityhub/standardsSubscription.ts b/sdk/nodejs/securityhub/standardsSubscription.ts index 2ef7aad709a..72d649230a0 100644 --- a/sdk/nodejs/securityhub/standardsSubscription.ts +++ b/sdk/nodejs/securityhub/standardsSubscription.ts @@ -25,17 +25,19 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example: + * In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import { * - * ```sh - * $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 - * ``` - * ```sh - * $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 - * ``` - * ```sh - * $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 - * ``` + * to = aws_securityhub_standards_subscription.cis + * + * id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" } terraform import { + * + * to = aws_securityhub_standards_subscription.pci_321 + * + * id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" } terraform import { + * + * to = aws_securityhub_standards_subscription.nist_800_53_rev_5 + * + * id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 */ export class StandardsSubscription extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts b/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts index 0e407764b1d..cbe0c0b811e 100644 --- a/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts +++ b/sdk/nodejs/servicecatalog/principalPortfolioAssociation.ts @@ -22,10 +22,12 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example: + * In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: + * + * Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: * * ```sh - * $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f + * $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM * ``` */ export class PrincipalPortfolioAssociation extends pulumi.CustomResource { @@ -71,7 +73,7 @@ export class PrincipalPortfolioAssociation extends pulumi.CustomResource { */ public readonly principalArn!: pulumi.Output; /** - * Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. */ public readonly principalType!: pulumi.Output; @@ -129,7 +131,7 @@ export interface PrincipalPortfolioAssociationState { */ principalArn?: pulumi.Input; /** - * Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. */ principalType?: pulumi.Input; } @@ -153,7 +155,7 @@ export interface PrincipalPortfolioAssociationArgs { */ principalArn: pulumi.Input; /** - * Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + * Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. */ principalType?: pulumi.Input; } diff --git a/sdk/nodejs/ses/identityNotificationTopic.ts b/sdk/nodejs/ses/identityNotificationTopic.ts index f7659ba0532..41a3914cd05 100644 --- a/sdk/nodejs/ses/identityNotificationTopic.ts +++ b/sdk/nodejs/ses/identityNotificationTopic.ts @@ -23,11 +23,11 @@ import * as utilities from "../utilities"; * * ## Import * - * Using `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example: + * In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import { * - * ```sh - * $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce' - * ``` + * to = aws_ses_identity_notification_topic.test + * + * id = "example.com|Bounce" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' */ export class IdentityNotificationTopic extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/shield/drtAccessLogBucketAssociation.ts b/sdk/nodejs/shield/drtAccessLogBucketAssociation.ts new file mode 100644 index 00000000000..ba6a300da18 --- /dev/null +++ b/sdk/nodejs/shield/drtAccessLogBucketAssociation.ts @@ -0,0 +1,126 @@ +// *** 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 Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT). + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const testDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", {roleArn: `arn:aws:iam:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:${_var.shield_drt_access_role_name}`}); + * const testDrtAccessLogBucketAssociation = new aws.shield.DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", { + * logBucket: _var.shield_drt_access_log_bucket, + * roleArnAssociationId: testDrtAccessRoleArnAssociation.id, + * }); + * ``` + */ +export class DrtAccessLogBucketAssociation extends pulumi.CustomResource { + /** + * Get an existing DrtAccessLogBucketAssociation 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?: DrtAccessLogBucketAssociationState, opts?: pulumi.CustomResourceOptions): DrtAccessLogBucketAssociation { + return new DrtAccessLogBucketAssociation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation'; + + /** + * Returns true if the given object is an instance of DrtAccessLogBucketAssociation. 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 DrtAccessLogBucketAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DrtAccessLogBucketAssociation.__pulumiType; + } + + /** + * The Amazon S3 bucket that contains the logs that you want to share. + */ + public readonly logBucket!: pulumi.Output; + /** + * The ID of the Role Arn association used for allowing Shield DRT Access. + */ + public readonly roleArnAssociationId!: pulumi.Output; + public readonly timeouts!: pulumi.Output; + + /** + * Create a DrtAccessLogBucketAssociation 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: DrtAccessLogBucketAssociationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DrtAccessLogBucketAssociationArgs | DrtAccessLogBucketAssociationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DrtAccessLogBucketAssociationState | undefined; + resourceInputs["logBucket"] = state ? state.logBucket : undefined; + resourceInputs["roleArnAssociationId"] = state ? state.roleArnAssociationId : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as DrtAccessLogBucketAssociationArgs | undefined; + if ((!args || args.logBucket === undefined) && !opts.urn) { + throw new Error("Missing required property 'logBucket'"); + } + if ((!args || args.roleArnAssociationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleArnAssociationId'"); + } + resourceInputs["logBucket"] = args ? args.logBucket : undefined; + resourceInputs["roleArnAssociationId"] = args ? args.roleArnAssociationId : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DrtAccessLogBucketAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DrtAccessLogBucketAssociation resources. + */ +export interface DrtAccessLogBucketAssociationState { + /** + * The Amazon S3 bucket that contains the logs that you want to share. + */ + logBucket?: pulumi.Input; + /** + * The ID of the Role Arn association used for allowing Shield DRT Access. + */ + roleArnAssociationId?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DrtAccessLogBucketAssociation resource. + */ +export interface DrtAccessLogBucketAssociationArgs { + /** + * The Amazon S3 bucket that contains the logs that you want to share. + */ + logBucket: pulumi.Input; + /** + * The ID of the Role Arn association used for allowing Shield DRT Access. + */ + roleArnAssociationId: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/shield/drtAccessRoleArnAssociation.ts b/sdk/nodejs/shield/drtAccessRoleArnAssociation.ts new file mode 100644 index 00000000000..f56164eda1b --- /dev/null +++ b/sdk/nodejs/shield/drtAccessRoleArnAssociation.ts @@ -0,0 +1,120 @@ +// *** 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"; + +/** + * Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html) + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const testRole = new aws.iam.Role("testRole", {assumeRolePolicy: JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Sid: "", + * Effect: "Allow", + * Principal: { + * Service: "drt.shield.amazonaws.com", + * }, + * Action: "sts:AssumeRole", + * }], + * })}); + * const testRolePolicyAttachment = new aws.iam.RolePolicyAttachment("testRolePolicyAttachment", { + * role: testRole.name, + * policyArn: "arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy", + * }); + * const testDrtAccessRoleArnAssociation = new aws.shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", {roleArn: testRole.arn}); + * ``` + */ +export class DrtAccessRoleArnAssociation extends pulumi.CustomResource { + /** + * Get an existing DrtAccessRoleArnAssociation 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?: DrtAccessRoleArnAssociationState, opts?: pulumi.CustomResourceOptions): DrtAccessRoleArnAssociation { + return new DrtAccessRoleArnAssociation(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation'; + + /** + * Returns true if the given object is an instance of DrtAccessRoleArnAssociation. 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 DrtAccessRoleArnAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DrtAccessRoleArnAssociation.__pulumiType; + } + + /** + * The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + */ + public readonly roleArn!: pulumi.Output; + public readonly timeouts!: pulumi.Output; + + /** + * Create a DrtAccessRoleArnAssociation 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: DrtAccessRoleArnAssociationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DrtAccessRoleArnAssociationArgs | DrtAccessRoleArnAssociationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DrtAccessRoleArnAssociationState | undefined; + resourceInputs["roleArn"] = state ? state.roleArn : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as DrtAccessRoleArnAssociationArgs | undefined; + if ((!args || args.roleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleArn'"); + } + resourceInputs["roleArn"] = args ? args.roleArn : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DrtAccessRoleArnAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DrtAccessRoleArnAssociation resources. + */ +export interface DrtAccessRoleArnAssociationState { + /** + * The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + */ + roleArn?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DrtAccessRoleArnAssociation resource. + */ +export interface DrtAccessRoleArnAssociationArgs { + /** + * The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + */ + roleArn: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/shield/index.ts b/sdk/nodejs/shield/index.ts index 967305fd5a4..a6b5e92e6da 100644 --- a/sdk/nodejs/shield/index.ts +++ b/sdk/nodejs/shield/index.ts @@ -5,6 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DrtAccessLogBucketAssociationArgs, DrtAccessLogBucketAssociationState } from "./drtAccessLogBucketAssociation"; +export type DrtAccessLogBucketAssociation = import("./drtAccessLogBucketAssociation").DrtAccessLogBucketAssociation; +export const DrtAccessLogBucketAssociation: typeof import("./drtAccessLogBucketAssociation").DrtAccessLogBucketAssociation = null as any; +utilities.lazyLoad(exports, ["DrtAccessLogBucketAssociation"], () => require("./drtAccessLogBucketAssociation")); + +export { DrtAccessRoleArnAssociationArgs, DrtAccessRoleArnAssociationState } from "./drtAccessRoleArnAssociation"; +export type DrtAccessRoleArnAssociation = import("./drtAccessRoleArnAssociation").DrtAccessRoleArnAssociation; +export const DrtAccessRoleArnAssociation: typeof import("./drtAccessRoleArnAssociation").DrtAccessRoleArnAssociation = null as any; +utilities.lazyLoad(exports, ["DrtAccessRoleArnAssociation"], () => require("./drtAccessRoleArnAssociation")); + export { ProtectionArgs, ProtectionState } from "./protection"; export type Protection = import("./protection").Protection; export const Protection: typeof import("./protection").Protection = null as any; @@ -25,6 +35,10 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": + return new DrtAccessLogBucketAssociation(name, undefined, { urn }) + case "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": + return new DrtAccessRoleArnAssociation(name, undefined, { urn }) case "aws:shield/protection:Protection": return new Protection(name, undefined, { urn }) case "aws:shield/protectionGroup:ProtectionGroup": @@ -36,6 +50,8 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "shield/drtAccessLogBucketAssociation", _module) +pulumi.runtime.registerResourceModule("aws", "shield/drtAccessRoleArnAssociation", _module) pulumi.runtime.registerResourceModule("aws", "shield/protection", _module) pulumi.runtime.registerResourceModule("aws", "shield/protectionGroup", _module) pulumi.runtime.registerResourceModule("aws", "shield/protectionHealthCheckAssociation", _module) diff --git a/sdk/nodejs/ssm/association.ts b/sdk/nodejs/ssm/association.ts index 924f55673be..bb8a9e5b014 100644 --- a/sdk/nodejs/ssm/association.ts +++ b/sdk/nodejs/ssm/association.ts @@ -159,6 +159,10 @@ export class Association extends pulumi.CustomResource { * A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. */ public readonly scheduleExpression!: pulumi.Output; + /** + * The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + */ + public readonly syncCompliance!: pulumi.Output; /** * A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. */ @@ -197,6 +201,7 @@ export class Association extends pulumi.CustomResource { resourceInputs["outputLocation"] = state ? state.outputLocation : undefined; resourceInputs["parameters"] = state ? state.parameters : undefined; resourceInputs["scheduleExpression"] = state ? state.scheduleExpression : undefined; + resourceInputs["syncCompliance"] = state ? state.syncCompliance : undefined; resourceInputs["targets"] = state ? state.targets : undefined; resourceInputs["waitForSuccessTimeoutSeconds"] = state ? state.waitForSuccessTimeoutSeconds : undefined; } else { @@ -213,6 +218,7 @@ export class Association extends pulumi.CustomResource { resourceInputs["outputLocation"] = args ? args.outputLocation : undefined; resourceInputs["parameters"] = args ? args.parameters : undefined; resourceInputs["scheduleExpression"] = args ? args.scheduleExpression : undefined; + resourceInputs["syncCompliance"] = args ? args.syncCompliance : undefined; resourceInputs["targets"] = args ? args.targets : undefined; resourceInputs["waitForSuccessTimeoutSeconds"] = args ? args.waitForSuccessTimeoutSeconds : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -285,6 +291,10 @@ export interface AssociationState { * A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. */ scheduleExpression?: pulumi.Input; + /** + * The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + */ + syncCompliance?: pulumi.Input; /** * A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. */ @@ -351,6 +361,10 @@ export interface AssociationArgs { * A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. */ scheduleExpression?: pulumi.Input; + /** + * The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + */ + syncCompliance?: pulumi.Input; /** * A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7c7c978d7d1..004898cf362 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -387,6 +387,7 @@ "codestarconnections/index.ts", "codestarnotifications/index.ts", "codestarnotifications/notificationRule.ts", + "cognito/getIdentityPool.ts", "cognito/getUserPoolClient.ts", "cognito/getUserPoolClients.ts", "cognito/getUserPoolSigningCertificate.ts", @@ -1817,6 +1818,8 @@ "sfn/getStateMachineVersions.ts", "sfn/index.ts", "sfn/stateMachine.ts", + "shield/drtAccessLogBucketAssociation.ts", + "shield/drtAccessRoleArnAssociation.ts", "shield/index.ts", "shield/protection.ts", "shield/protectionGroup.ts", @@ -1944,6 +1947,8 @@ "types/output.ts", "utilities.ts", "utils.ts", + "verifiedaccess/index.ts", + "verifiedaccess/trustProvider.ts", "vpc/getSecurityGroupRule.ts", "vpc/getSecurityGroupRules.ts", "vpc/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index e7705bb5684..bf45e0d36b5 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -7182,10 +7182,18 @@ export namespace autoscaling { * Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`. */ minHealthyPercentage?: pulumi.Input; + /** + * Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + */ + scaleInProtectedInstances?: pulumi.Input; /** * Replace instances that already have your desired configuration. Defaults to `false`. */ skipMatching?: pulumi.Input; + /** + * Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + */ + standbyInstances?: pulumi.Input; } export interface GroupLaunchTemplate { @@ -15644,7 +15652,7 @@ export namespace dlm { /** * A map of tag keys and their values. Any resources that match the `resourceTypes` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. TODO is unable to detect this at plan time but it will fail during apply. */ targetTags?: pulumi.Input<{[key: string]: pulumi.Input}>; } @@ -25908,6 +25916,17 @@ export namespace fsx { fileShareAccessAuditLogLevel?: pulumi.Input; } + export interface WindowsFileSystemDiskIopsConfiguration { + /** + * The total number of SSD IOPS provisioned for the file system. + */ + iops?: pulumi.Input; + /** + * Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + */ + mode?: pulumi.Input; + } + export interface WindowsFileSystemSelfManagedActiveDirectory { /** * A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the file system or in the private IP version 4 (IPv4) address ranges as specified in [RFC 1918](https://tools.ietf.org/html/rfc1918). @@ -26299,6 +26318,24 @@ export namespace glue { region?: pulumi.Input; } + export interface CatalogTableOpenTableFormatInput { + /** + * Configuration block for iceberg table config. See `icebergInput` below. + */ + icebergInput: pulumi.Input; + } + + export interface CatalogTableOpenTableFormatInputIcebergInput { + /** + * A required metadata operation. Can only be set to CREATE. + */ + metadataOperation: pulumi.Input; + /** + * The table version for the Iceberg table. Defaults to 2. + */ + version?: pulumi.Input; + } + export interface CatalogTablePartitionIndex { /** * Name of the partition index. @@ -27722,6 +27759,28 @@ export namespace identitystore { attributeValue: pulumi.Input; } + export interface GetGroupFilter { + /** + * Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + */ + attributePath: string; + /** + * Value for an attribute. + */ + attributeValue: string; + } + + export interface GetGroupFilterArgs { + /** + * Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + */ + attributePath: pulumi.Input; + /** + * Value for an attribute. + */ + attributeValue: pulumi.Input; + } + export interface GetUserAlternateIdentifier { /** * Configuration block for filtering by the identifier issued by an external identity provider. Detailed below. @@ -27792,6 +27851,28 @@ export namespace identitystore { attributeValue: pulumi.Input; } + export interface GetUserFilter { + /** + * Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + */ + attributePath: string; + /** + * Value for an attribute. + */ + attributeValue: string; + } + + export interface GetUserFilterArgs { + /** + * Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + */ + attributePath: pulumi.Input; + /** + * Value for an attribute. + */ + attributeValue: pulumi.Input; + } + export interface GroupExternalId { /** * The identifier issued to this resource by an external identity provider. @@ -36333,7 +36414,7 @@ export namespace medialive { */ rtmpOutputSettings?: pulumi.Input; /** - * UDP output settings. See UDP Output Settings for more details + * UDP output settings. See UDP Output Settings for more details. */ udpOutputSettings?: pulumi.Input; } @@ -37126,6 +37207,9 @@ export namespace medialive { } export interface ChannelInputAttachment { + /** + * User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + */ automaticInputFailoverSettings?: pulumi.Input; /** * User-specified name for the attachment. @@ -37136,42 +37220,75 @@ export namespace medialive { */ inputId: pulumi.Input; /** - * Settings of an input. See Input Settings for more details + * Settings of an input. See Input Settings for more details. */ inputSettings?: pulumi.Input; } export interface ChannelInputAttachmentAutomaticInputFailoverSettings { + /** + * This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + */ errorClearTimeMsec?: pulumi.Input; failoverConditions?: pulumi.Input[]>; + /** + * Input preference when deciding which input to make active when a previously failed input has recovered. + */ inputPreference?: pulumi.Input; + /** + * The input ID of the secondary input in the automatic input failover pair. + */ secondaryInputId: pulumi.Input; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition { + /** + * Failover condition type-specific settings. See Failover Condition Settings for more details. + */ failoverConditionSettings?: pulumi.Input; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings { + /** + * MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + */ audioSilenceSettings?: pulumi.Input; + /** + * MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + */ inputLossSettings?: pulumi.Input; + /** + * MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + */ videoBlackSettings?: pulumi.Input; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings { /** - * The name of the audio selector used as the source for this AudioDescription. + * The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. */ audioSelectorName: pulumi.Input; + /** + * The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + */ audioSilenceThresholdMsec?: pulumi.Input; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings { + /** + * The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + */ inputLossThresholdMsec?: pulumi.Input; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings { + /** + * A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + */ blackDetectThreshold?: pulumi.Input; + /** + * The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + */ videoBlackThresholdMsec?: pulumi.Input; } @@ -39908,6 +40025,13 @@ export namespace opensearch { automatedSnapshotStartHour: pulumi.Input; } + export interface DomainSoftwareUpdateOptions { + /** + * Whether automatic service software updates are enabled for the domain. Defaults to `false`. + */ + autoSoftwareUpdateEnabled?: pulumi.Input; + } + export interface DomainVpcOptions { availabilityZones?: pulumi.Input[]>; /** @@ -51734,6 +51858,20 @@ export namespace sfn { } } +export namespace shield { + export interface DrtAccessLogBucketAssociationTimeouts { + create?: pulumi.Input; + delete?: pulumi.Input; + read?: pulumi.Input; + } + + export interface DrtAccessRoleArnAssociationTimeouts { + create?: pulumi.Input; + delete?: pulumi.Input; + read?: pulumi.Input; + } +} + export namespace signer { export interface SigningJobDestination { /** @@ -53211,6 +53349,22 @@ export namespace transfer { } } +export namespace verifiedaccess { + export interface TrustProviderDeviceOptions { + tenantId?: pulumi.Input; + } + + export interface TrustProviderOidcOptions { + authorizationEndpoint?: pulumi.Input; + clientId?: pulumi.Input; + clientSecret: pulumi.Input; + issuer?: pulumi.Input; + scope?: pulumi.Input; + tokenEndpoint?: pulumi.Input; + userInfoEndpoint?: pulumi.Input; + } +} + export namespace vpc { export interface GetSecurityGroupRuleFilter { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index c02a3be7625..794c3995720 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -8463,10 +8463,18 @@ export namespace autoscaling { * Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`. */ minHealthyPercentage?: number; + /** + * Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + */ + scaleInProtectedInstances?: string; /** * Replace instances that already have your desired configuration. Defaults to `false`. */ skipMatching?: boolean; + /** + * Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + */ + standbyInstances?: string; } export interface GroupLaunchTemplate { @@ -14554,6 +14562,12 @@ export namespace codestarnotifications { } export namespace cognito { + export interface GetIdentityPoolCognitoIdentityProvider { + clientId: string; + providerName: string; + serverSideTokenCheck: boolean; + } + export interface GetUserPoolClientAnalyticsConfiguration { /** * (Optional) Application ARN for an Amazon Pinpoint application. Conflicts with `externalId` and `roleArn`. @@ -18417,7 +18431,7 @@ export namespace dlm { /** * A map of tag keys and their values. Any resources that match the `resourceTypes` and are tagged with _any_ of these tags will be targeted. * - * > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. This provider is unable to detect this at plan time but it will fail during apply. + * > Note: You cannot have overlapping lifecycle policies that share the same `targetTags`. TODO is unable to detect this at plan time but it will fail during apply. */ targetTags?: {[key: string]: string}; } @@ -29891,6 +29905,11 @@ export namespace fsx { fileShareAccessAuditLogLevel: string; } + export interface GetWindowsFileSystemDiskIopsConfiguration { + iops: number; + mode: string; + } + export interface LustreFileSystemLogConfiguration { /** * The Amazon Resource Name (ARN) that specifies the destination of the logs. The name of the Amazon CloudWatch Logs log group must begin with the `/aws/fsx` prefix. If you do not provide a destination, Amazon FSx will create and use a log stream in the CloudWatch Logs `/aws/fsx/lustre` log group. @@ -30187,6 +30206,17 @@ export namespace fsx { fileShareAccessAuditLogLevel?: string; } + export interface WindowsFileSystemDiskIopsConfiguration { + /** + * The total number of SSD IOPS provisioned for the file system. + */ + iops: number; + /** + * Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + */ + mode?: string; + } + export interface WindowsFileSystemSelfManagedActiveDirectory { /** * A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the file system or in the private IP version 4 (IPv4) address ranges as specified in [RFC 1918](https://tools.ietf.org/html/rfc1918). @@ -30604,6 +30634,24 @@ export namespace glue { region?: string; } + export interface CatalogTableOpenTableFormatInput { + /** + * Configuration block for iceberg table config. See `icebergInput` below. + */ + icebergInput: outputs.glue.CatalogTableOpenTableFormatInputIcebergInput; + } + + export interface CatalogTableOpenTableFormatInputIcebergInput { + /** + * A required metadata operation. Can only be set to CREATE. + */ + metadataOperation: string; + /** + * The table version for the Iceberg table. Defaults to 2. + */ + version?: string; + } + export interface CatalogTablePartitionIndex { /** * Name of the partition index. @@ -32170,6 +32218,17 @@ export namespace identitystore { issuer: string; } + export interface GetGroupFilter { + /** + * Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + */ + attributePath: string; + /** + * Value for an attribute. + */ + attributeValue: string; + } + export interface GetUserAddress { /** * The country that this address is in. @@ -32266,6 +32325,17 @@ export namespace identitystore { issuer: string; } + export interface GetUserFilter { + /** + * Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + */ + attributePath: string; + /** + * Value for an attribute. + */ + attributeValue: string; + } + export interface GetUserName { /** * The family name of the user. @@ -41655,7 +41725,7 @@ export namespace medialive { */ rtmpOutputSettings?: outputs.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettings; /** - * UDP output settings. See UDP Output Settings for more details + * UDP output settings. See UDP Output Settings for more details. */ udpOutputSettings?: outputs.medialive.ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings; } @@ -42448,6 +42518,9 @@ export namespace medialive { } export interface ChannelInputAttachment { + /** + * User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + */ automaticInputFailoverSettings?: outputs.medialive.ChannelInputAttachmentAutomaticInputFailoverSettings; /** * User-specified name for the attachment. @@ -42458,42 +42531,75 @@ export namespace medialive { */ inputId: string; /** - * Settings of an input. See Input Settings for more details + * Settings of an input. See Input Settings for more details. */ inputSettings: outputs.medialive.ChannelInputAttachmentInputSettings; } export interface ChannelInputAttachmentAutomaticInputFailoverSettings { + /** + * This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\_preference for the failover pair is set to PRIMARY\_INPUT\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + */ errorClearTimeMsec?: number; failoverConditions?: outputs.medialive.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition[]; + /** + * Input preference when deciding which input to make active when a previously failed input has recovered. + */ inputPreference?: string; + /** + * The input ID of the secondary input in the automatic input failover pair. + */ secondaryInputId: string; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition { + /** + * Failover condition type-specific settings. See Failover Condition Settings for more details. + */ failoverConditionSettings?: outputs.medialive.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings { + /** + * MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + */ audioSilenceSettings?: outputs.medialive.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings; + /** + * MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + */ inputLossSettings?: outputs.medialive.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings; + /** + * MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + */ videoBlackSettings?: outputs.medialive.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings { /** - * The name of the audio selector used as the source for this AudioDescription. + * The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. */ audioSelectorName: string; + /** + * The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + */ audioSilenceThresholdMsec?: number; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings { + /** + * The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + */ inputLossThresholdMsec?: number; } export interface ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings { + /** + * A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + */ blackDetectThreshold?: number; + /** + * The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + */ videoBlackThresholdMsec?: number; } @@ -45509,6 +45615,13 @@ export namespace opensearch { automatedSnapshotStartHour: number; } + export interface DomainSoftwareUpdateOptions { + /** + * Whether automatic service software updates are enabled for the domain. Defaults to `false`. + */ + autoSoftwareUpdateEnabled: boolean; + } + export interface DomainVpcOptions { availabilityZones: string[]; /** @@ -45745,6 +45858,13 @@ export namespace opensearch { automatedSnapshotStartHour: number; } + export interface GetDomainSoftwareUpdateOption { + /** + * Enabled or disabled. + */ + autoSoftwareUpdateEnabled: boolean; + } + export interface GetDomainVpcOption { /** * Availability zones used by the domain. @@ -58288,6 +58408,21 @@ export namespace sfn { } +export namespace shield { + export interface DrtAccessLogBucketAssociationTimeouts { + create?: string; + delete?: string; + read?: string; + } + + export interface DrtAccessRoleArnAssociationTimeouts { + create?: string; + delete?: string; + read?: string; + } + +} + export namespace signer { export interface GetSigningJobRevocationRecord { reason: string; @@ -59997,6 +60132,23 @@ export namespace transfer { } +export namespace verifiedaccess { + export interface TrustProviderDeviceOptions { + tenantId?: string; + } + + export interface TrustProviderOidcOptions { + authorizationEndpoint?: string; + clientId?: string; + clientSecret: string; + issuer?: string; + scope?: string; + tokenEndpoint?: string; + userInfoEndpoint?: string; + } + +} + export namespace vpc { export interface GetSecurityGroupRuleFilter { /** diff --git a/sdk/nodejs/verifiedaccess/index.ts b/sdk/nodejs/verifiedaccess/index.ts new file mode 100644 index 00000000000..06f2f1d0ec2 --- /dev/null +++ b/sdk/nodejs/verifiedaccess/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { TrustProviderArgs, TrustProviderState } from "./trustProvider"; +export type TrustProvider = import("./trustProvider").TrustProvider; +export const TrustProvider: typeof import("./trustProvider").TrustProvider = null as any; +utilities.lazyLoad(exports, ["TrustProvider"], () => require("./trustProvider")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:verifiedaccess/trustProvider:TrustProvider": + return new TrustProvider(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "verifiedaccess/trustProvider", _module) diff --git a/sdk/nodejs/verifiedaccess/trustProvider.ts b/sdk/nodejs/verifiedaccess/trustProvider.ts new file mode 100644 index 00000000000..f33f0f34f36 --- /dev/null +++ b/sdk/nodejs/verifiedaccess/trustProvider.ts @@ -0,0 +1,224 @@ +// *** 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 a Verified Access Trust Provider. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.verifiedaccess.TrustProvider("example", { + * policyReferenceName: "example", + * trustProviderType: "user", + * userTrustProviderType: "iam-identity-center", + * }); + * ``` + * + * ## Import + * + * In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import { + * + * to = aws_verifiedaccess_trust_provider.example + * + * id = "vatp-8012925589" } Using `TODO import`, import Transfer Workflows using the + * + * `id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 + */ +export class TrustProvider extends pulumi.CustomResource { + /** + * Get an existing TrustProvider 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?: TrustProviderState, opts?: pulumi.CustomResourceOptions): TrustProvider { + return new TrustProvider(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:verifiedaccess/trustProvider:TrustProvider'; + + /** + * Returns true if the given object is an instance of TrustProvider. 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 TrustProvider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TrustProvider.__pulumiType; + } + + /** + * A description for the AWS Verified Access trust provider. + */ + public readonly description!: pulumi.Output; + /** + * A block of options for device identity based trust providers. + */ + public readonly deviceOptions!: pulumi.Output; + /** + * The type of device-based trust provider. + */ + public readonly deviceTrustProviderType!: pulumi.Output; + /** + * The OpenID Connect details for an oidc-type, user-identity based trust provider. + */ + public readonly oidcOptions!: pulumi.Output; + /** + * The identifier to be used when working with policy rules. + */ + public readonly policyReferenceName!: pulumi.Output; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + /** + * The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + */ + public readonly trustProviderType!: pulumi.Output; + /** + * The type of user-based trust provider. + */ + public readonly userTrustProviderType!: pulumi.Output; + + /** + * Create a TrustProvider 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: TrustProviderArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TrustProviderArgs | TrustProviderState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TrustProviderState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["deviceOptions"] = state ? state.deviceOptions : undefined; + resourceInputs["deviceTrustProviderType"] = state ? state.deviceTrustProviderType : undefined; + resourceInputs["oidcOptions"] = state ? state.oidcOptions : undefined; + resourceInputs["policyReferenceName"] = state ? state.policyReferenceName : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["trustProviderType"] = state ? state.trustProviderType : undefined; + resourceInputs["userTrustProviderType"] = state ? state.userTrustProviderType : undefined; + } else { + const args = argsOrState as TrustProviderArgs | undefined; + if ((!args || args.policyReferenceName === undefined) && !opts.urn) { + throw new Error("Missing required property 'policyReferenceName'"); + } + if ((!args || args.trustProviderType === undefined) && !opts.urn) { + throw new Error("Missing required property 'trustProviderType'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["deviceOptions"] = args ? args.deviceOptions : undefined; + resourceInputs["deviceTrustProviderType"] = args ? args.deviceTrustProviderType : undefined; + resourceInputs["oidcOptions"] = args ? args.oidcOptions : undefined; + resourceInputs["policyReferenceName"] = args ? args.policyReferenceName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["trustProviderType"] = args ? args.trustProviderType : undefined; + resourceInputs["userTrustProviderType"] = args ? args.userTrustProviderType : undefined; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TrustProvider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TrustProvider resources. + */ +export interface TrustProviderState { + /** + * A description for the AWS Verified Access trust provider. + */ + description?: pulumi.Input; + /** + * A block of options for device identity based trust providers. + */ + deviceOptions?: pulumi.Input; + /** + * The type of device-based trust provider. + */ + deviceTrustProviderType?: pulumi.Input; + /** + * The OpenID Connect details for an oidc-type, user-identity based trust provider. + */ + oidcOptions?: pulumi.Input; + /** + * The identifier to be used when working with policy rules. + */ + policyReferenceName?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + */ + trustProviderType?: pulumi.Input; + /** + * The type of user-based trust provider. + */ + userTrustProviderType?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TrustProvider resource. + */ +export interface TrustProviderArgs { + /** + * A description for the AWS Verified Access trust provider. + */ + description?: pulumi.Input; + /** + * A block of options for device identity based trust providers. + */ + deviceOptions?: pulumi.Input; + /** + * The type of device-based trust provider. + */ + deviceTrustProviderType?: pulumi.Input; + /** + * The OpenID Connect details for an oidc-type, user-identity based trust provider. + */ + oidcOptions?: pulumi.Input; + /** + * The identifier to be used when working with policy rules. + */ + policyReferenceName: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The type of trust provider can be either user or device-based. + * + * The following arguments are optional: + */ + trustProviderType: pulumi.Input; + /** + * The type of user-based trust provider. + */ + userTrustProviderType?: pulumi.Input; +} diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index dab88370158..2e9e5ffe860 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -387,6 +387,8 @@ transcribe = __transcribe import pulumi_aws.transfer as __transfer transfer = __transfer + import pulumi_aws.verifiedaccess as __verifiedaccess + verifiedaccess = __verifiedaccess import pulumi_aws.vpc as __vpc vpc = __vpc import pulumi_aws.vpclattice as __vpclattice @@ -586,6 +588,7 @@ timestreamwrite = _utilities.lazy_import('pulumi_aws.timestreamwrite') transcribe = _utilities.lazy_import('pulumi_aws.transcribe') transfer = _utilities.lazy_import('pulumi_aws.transfer') + verifiedaccess = _utilities.lazy_import('pulumi_aws.verifiedaccess') vpc = _utilities.lazy_import('pulumi_aws.vpc') vpclattice = _utilities.lazy_import('pulumi_aws.vpclattice') waf = _utilities.lazy_import('pulumi_aws.waf') @@ -9614,6 +9617,22 @@ "aws:sfn/stateMachine:StateMachine": "StateMachine" } }, + { + "pkg": "aws", + "mod": "shield/drtAccessLogBucketAssociation", + "fqn": "pulumi_aws.shield", + "classes": { + "aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation": "DrtAccessLogBucketAssociation" + } + }, + { + "pkg": "aws", + "mod": "shield/drtAccessRoleArnAssociation", + "fqn": "pulumi_aws.shield", + "classes": { + "aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation": "DrtAccessRoleArnAssociation" + } + }, { "pkg": "aws", "mod": "shield/protection", @@ -10182,6 +10201,14 @@ "aws:transfer/workflow:Workflow": "Workflow" } }, + { + "pkg": "aws", + "mod": "verifiedaccess/trustProvider", + "fqn": "pulumi_aws.verifiedaccess", + "classes": { + "aws:verifiedaccess/trustProvider:TrustProvider": "TrustProvider" + } + }, { "pkg": "aws", "mod": "vpc/securityGroupEgressRule", diff --git a/sdk/python/pulumi_aws/acmpca/certificate_authority.py b/sdk/python/pulumi_aws/acmpca/certificate_authority.py index 171c356d6f6..29260d0fc63 100644 --- a/sdk/python/pulumi_aws/acmpca/certificate_authority.py +++ b/sdk/python/pulumi_aws/acmpca/certificate_authority.py @@ -470,7 +470,7 @@ def __init__(__self__, import pulumi import pulumi_aws as aws - example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2") + example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2", force_destroy=True) acmpca_bucket_access = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs( actions=[ "s3:GetBucketAcl", @@ -504,6 +504,7 @@ def __init__(__self__, enabled=True, expiration_in_days=7, s3_bucket_name=example_bucket_v2.id, + s3_object_acl="BUCKET_OWNER_FULL_CONTROL", ), ), opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy])) @@ -578,7 +579,7 @@ def __init__(__self__, import pulumi import pulumi_aws as aws - example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2") + example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2", force_destroy=True) acmpca_bucket_access = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs( actions=[ "s3:GetBucketAcl", @@ -612,6 +613,7 @@ def __init__(__self__, enabled=True, expiration_in_days=7, s3_bucket_name=example_bucket_v2.id, + s3_object_acl="BUCKET_OWNER_FULL_CONTROL", ), ), opts=pulumi.ResourceOptions(depends_on=[example_bucket_policy])) diff --git a/sdk/python/pulumi_aws/apigateway/account.py b/sdk/python/pulumi_aws/apigateway/account.py index 0f3f263b626..53517b28ae5 100644 --- a/sdk/python/pulumi_aws/apigateway/account.py +++ b/sdk/python/pulumi_aws/apigateway/account.py @@ -40,18 +40,38 @@ def cloudwatch_role_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class _AccountState: def __init__(__self__, *, + api_key_version: Optional[pulumi.Input[str]] = None, cloudwatch_role_arn: Optional[pulumi.Input[str]] = None, + features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, throttle_settings: Optional[pulumi.Input[Sequence[pulumi.Input['AccountThrottleSettingArgs']]]] = None): """ Input properties used for looking up and filtering Account resources. + :param pulumi.Input[str] api_key_version: The version of the API keys used for the account. :param pulumi.Input[str] cloudwatch_role_arn: ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. + :param pulumi.Input[Sequence[pulumi.Input[str]]] features: A list of features supported for the account. :param pulumi.Input[Sequence[pulumi.Input['AccountThrottleSettingArgs']]] throttle_settings: Account-Level throttle settings. See exported fields below. """ + if api_key_version is not None: + pulumi.set(__self__, "api_key_version", api_key_version) if cloudwatch_role_arn is not None: pulumi.set(__self__, "cloudwatch_role_arn", cloudwatch_role_arn) + if features is not None: + pulumi.set(__self__, "features", features) if throttle_settings is not None: pulumi.set(__self__, "throttle_settings", throttle_settings) + @property + @pulumi.getter(name="apiKeyVersion") + def api_key_version(self) -> Optional[pulumi.Input[str]]: + """ + The version of the API keys used for the account. + """ + return pulumi.get(self, "api_key_version") + + @api_key_version.setter + def api_key_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "api_key_version", value) + @property @pulumi.getter(name="cloudwatchRoleArn") def cloudwatch_role_arn(self) -> Optional[pulumi.Input[str]]: @@ -64,6 +84,18 @@ def cloudwatch_role_arn(self) -> Optional[pulumi.Input[str]]: def cloudwatch_role_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "cloudwatch_role_arn", value) + @property + @pulumi.getter + def features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of features supported for the account. + """ + return pulumi.get(self, "features") + + @features.setter + def features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "features", value) + @property @pulumi.getter(name="throttleSettings") def throttle_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccountThrottleSettingArgs']]]]: @@ -214,6 +246,8 @@ def _internal_init(__self__, __props__ = AccountArgs.__new__(AccountArgs) __props__.__dict__["cloudwatch_role_arn"] = cloudwatch_role_arn + __props__.__dict__["api_key_version"] = None + __props__.__dict__["features"] = None __props__.__dict__["throttle_settings"] = None super(Account, __self__).__init__( 'aws:apigateway/account:Account', @@ -225,7 +259,9 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + api_key_version: Optional[pulumi.Input[str]] = None, cloudwatch_role_arn: Optional[pulumi.Input[str]] = None, + features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, throttle_settings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountThrottleSettingArgs']]]]] = None) -> 'Account': """ Get an existing Account resource's state with the given name, id, and optional extra @@ -234,17 +270,29 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] api_key_version: The version of the API keys used for the account. :param pulumi.Input[str] cloudwatch_role_arn: ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level. + :param pulumi.Input[Sequence[pulumi.Input[str]]] features: A list of features supported for the account. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccountThrottleSettingArgs']]]] throttle_settings: Account-Level throttle settings. See exported fields below. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _AccountState.__new__(_AccountState) + __props__.__dict__["api_key_version"] = api_key_version __props__.__dict__["cloudwatch_role_arn"] = cloudwatch_role_arn + __props__.__dict__["features"] = features __props__.__dict__["throttle_settings"] = throttle_settings return Account(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="apiKeyVersion") + def api_key_version(self) -> pulumi.Output[str]: + """ + The version of the API keys used for the account. + """ + return pulumi.get(self, "api_key_version") + @property @pulumi.getter(name="cloudwatchRoleArn") def cloudwatch_role_arn(self) -> pulumi.Output[Optional[str]]: @@ -253,6 +301,14 @@ def cloudwatch_role_arn(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "cloudwatch_role_arn") + @property + @pulumi.getter + def features(self) -> pulumi.Output[Sequence[str]]: + """ + A list of features supported for the account. + """ + return pulumi.get(self, "features") + @property @pulumi.getter(name="throttleSettings") def throttle_settings(self) -> pulumi.Output[Sequence['outputs.AccountThrottleSetting']]: diff --git a/sdk/python/pulumi_aws/apigateway/api_key.py b/sdk/python/pulumi_aws/apigateway/api_key.py index 4844018be15..0b3329be77b 100644 --- a/sdk/python/pulumi_aws/apigateway/api_key.py +++ b/sdk/python/pulumi_aws/apigateway/api_key.py @@ -14,6 +14,7 @@ @pulumi.input_type class ApiKeyArgs: def __init__(__self__, *, + customer_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, @@ -21,12 +22,15 @@ def __init__(__self__, *, value: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ApiKey resource. + :param pulumi.Input[str] customer_id: An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. :param pulumi.Input[str] description: API key description. Defaults to "Managed by Pulumi". :param pulumi.Input[bool] enabled: Whether the API key can be used by callers. Defaults to `true`. :param pulumi.Input[str] name: Name of the API key. :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[str] value: Value of the API key. If specified, the value must be an alphanumeric string between 20 and 128 characters. If not specified, it will be automatically generated by AWS on creation. """ + if customer_id is not None: + pulumi.set(__self__, "customer_id", customer_id) if description is None: description = 'Managed by Pulumi' if description is not None: @@ -40,6 +44,18 @@ def __init__(__self__, *, if value is not None: pulumi.set(__self__, "value", value) + @property + @pulumi.getter(name="customerId") + def customer_id(self) -> Optional[pulumi.Input[str]]: + """ + An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + """ + return pulumi.get(self, "customer_id") + + @customer_id.setter + def customer_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_id", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -106,6 +122,7 @@ class _ApiKeyState: def __init__(__self__, *, arn: Optional[pulumi.Input[str]] = None, created_date: Optional[pulumi.Input[str]] = None, + customer_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, last_updated_date: Optional[pulumi.Input[str]] = None, @@ -117,6 +134,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering ApiKey resources. :param pulumi.Input[str] arn: ARN :param pulumi.Input[str] created_date: Creation date of the API key + :param pulumi.Input[str] customer_id: An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. :param pulumi.Input[str] description: API key description. Defaults to "Managed by Pulumi". :param pulumi.Input[bool] enabled: Whether the API key can be used by callers. Defaults to `true`. :param pulumi.Input[str] last_updated_date: Last update date of the API key @@ -129,6 +147,8 @@ def __init__(__self__, *, pulumi.set(__self__, "arn", arn) if created_date is not None: pulumi.set(__self__, "created_date", created_date) + if customer_id is not None: + pulumi.set(__self__, "customer_id", customer_id) if description is None: description = 'Managed by Pulumi' if description is not None: @@ -170,6 +190,18 @@ def created_date(self) -> Optional[pulumi.Input[str]]: def created_date(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "created_date", value) + @property + @pulumi.getter(name="customerId") + def customer_id(self) -> Optional[pulumi.Input[str]]: + """ + An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + """ + return pulumi.get(self, "customer_id") + + @customer_id.setter + def customer_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_id", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -260,6 +292,7 @@ class ApiKey(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + customer_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, @@ -277,19 +310,20 @@ def __init__(__self__, import pulumi import pulumi_aws as aws - my_demo_api_key = aws.apigateway.ApiKey("myDemoApiKey") + example = aws.apigateway.ApiKey("example") ``` ## Import - Using `pulumi import`, import API Gateway Keys using the `id`. For example: + terraform import { - ```sh - $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk - ``` + to = aws_api_gateway_api_key.example + + id = "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] customer_id: An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. :param pulumi.Input[str] description: API key description. Defaults to "Managed by Pulumi". :param pulumi.Input[bool] enabled: Whether the API key can be used by callers. Defaults to `true`. :param pulumi.Input[str] name: Name of the API key. @@ -313,16 +347,16 @@ def __init__(__self__, import pulumi import pulumi_aws as aws - my_demo_api_key = aws.apigateway.ApiKey("myDemoApiKey") + example = aws.apigateway.ApiKey("example") ``` ## Import - Using `pulumi import`, import API Gateway Keys using the `id`. For example: + terraform import { - ```sh - $ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk - ``` + to = aws_api_gateway_api_key.example + + id = "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" } Using `pulumi import`, import API Gateway Keys using the `id`. For exampleconsole % TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk :param str resource_name: The name of the resource. :param ApiKeyArgs args: The arguments to use to populate this resource's properties. @@ -339,6 +373,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + customer_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, @@ -353,6 +388,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = ApiKeyArgs.__new__(ApiKeyArgs) + __props__.__dict__["customer_id"] = customer_id if description is None: description = 'Managed by Pulumi' __props__.__dict__["description"] = description @@ -378,6 +414,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, arn: Optional[pulumi.Input[str]] = None, created_date: Optional[pulumi.Input[str]] = None, + customer_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, last_updated_date: Optional[pulumi.Input[str]] = None, @@ -394,6 +431,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: ARN :param pulumi.Input[str] created_date: Creation date of the API key + :param pulumi.Input[str] customer_id: An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. :param pulumi.Input[str] description: API key description. Defaults to "Managed by Pulumi". :param pulumi.Input[bool] enabled: Whether the API key can be used by callers. Defaults to `true`. :param pulumi.Input[str] last_updated_date: Last update date of the API key @@ -408,6 +446,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = arn __props__.__dict__["created_date"] = created_date + __props__.__dict__["customer_id"] = customer_id __props__.__dict__["description"] = description __props__.__dict__["enabled"] = enabled __props__.__dict__["last_updated_date"] = last_updated_date @@ -433,6 +472,14 @@ def created_date(self) -> pulumi.Output[str]: """ return pulumi.get(self, "created_date") + @property + @pulumi.getter(name="customerId") + def customer_id(self) -> pulumi.Output[Optional[str]]: + """ + An Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + """ + return pulumi.get(self, "customer_id") + @property @pulumi.getter def description(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/apigateway/get_key.py b/sdk/python/pulumi_aws/apigateway/get_key.py index c897b9e3779..c752778507f 100644 --- a/sdk/python/pulumi_aws/apigateway/get_key.py +++ b/sdk/python/pulumi_aws/apigateway/get_key.py @@ -21,10 +21,13 @@ class GetKeyResult: """ A collection of values returned by getKey. """ - def __init__(__self__, created_date=None, description=None, enabled=None, id=None, last_updated_date=None, name=None, tags=None, value=None): + def __init__(__self__, created_date=None, customer_id=None, description=None, enabled=None, id=None, last_updated_date=None, name=None, tags=None, value=None): if created_date and not isinstance(created_date, str): raise TypeError("Expected argument 'created_date' to be a str") pulumi.set(__self__, "created_date", created_date) + if customer_id and not isinstance(customer_id, str): + raise TypeError("Expected argument 'customer_id' to be a str") + pulumi.set(__self__, "customer_id", customer_id) if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) @@ -55,6 +58,14 @@ def created_date(self) -> str: """ return pulumi.get(self, "created_date") + @property + @pulumi.getter(name="customerId") + def customer_id(self) -> str: + """ + Amazon Web Services Marketplace customer identifier, when integrating with the Amazon Web Services SaaS Marketplace. + """ + return pulumi.get(self, "customer_id") + @property @pulumi.getter def description(self) -> str: @@ -119,6 +130,7 @@ def __await__(self): yield self return GetKeyResult( created_date=self.created_date, + customer_id=self.customer_id, description=self.description, enabled=self.enabled, id=self.id, @@ -156,6 +168,7 @@ def get_key(id: Optional[str] = None, return AwaitableGetKeyResult( created_date=pulumi.get(__ret__, 'created_date'), + customer_id=pulumi.get(__ret__, 'customer_id'), description=pulumi.get(__ret__, 'description'), enabled=pulumi.get(__ret__, 'enabled'), id=pulumi.get(__ret__, 'id'), diff --git a/sdk/python/pulumi_aws/apigateway/response.py b/sdk/python/pulumi_aws/apigateway/response.py index 6c7d16c008b..925e125dce5 100644 --- a/sdk/python/pulumi_aws/apigateway/response.py +++ b/sdk/python/pulumi_aws/apigateway/response.py @@ -220,11 +220,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import { - ```sh - $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED - ``` + to = aws_api_gateway_gateway_response.example + + id = "12345abcde/UNAUTHORIZED" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -264,11 +264,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleterraform import { - ```sh - $ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED - ``` + to = aws_api_gateway_gateway_response.example + + id = "12345abcde/UNAUTHORIZED" } Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For exampleconsole % TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED :param str resource_name: The name of the resource. :param ResponseArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/autoscaling/_inputs.py b/sdk/python/pulumi_aws/autoscaling/_inputs.py index 8f52ad37691..e3a17e03491 100644 --- a/sdk/python/pulumi_aws/autoscaling/_inputs.py +++ b/sdk/python/pulumi_aws/autoscaling/_inputs.py @@ -240,14 +240,18 @@ def __init__(__self__, *, checkpoint_percentages: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, instance_warmup: Optional[pulumi.Input[str]] = None, min_healthy_percentage: Optional[pulumi.Input[int]] = None, - skip_matching: Optional[pulumi.Input[bool]] = None): + scale_in_protected_instances: Optional[pulumi.Input[str]] = None, + skip_matching: Optional[pulumi.Input[bool]] = None, + standby_instances: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[bool] auto_rollback: Automatically rollback if instance refresh fails. Defaults to `false`. This option may only be set to `true` when specifying a `launch_template` or `mixed_instances_policy`. :param pulumi.Input[str] checkpoint_delay: Number of seconds to wait after a checkpoint. Defaults to `3600`. :param pulumi.Input[Sequence[pulumi.Input[int]]] checkpoint_percentages: List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be `100`. :param pulumi.Input[str] instance_warmup: Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period. :param pulumi.Input[int] min_healthy_percentage: Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`. + :param pulumi.Input[str] scale_in_protected_instances: Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. :param pulumi.Input[bool] skip_matching: Replace instances that already have your desired configuration. Defaults to `false`. + :param pulumi.Input[str] standby_instances: Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. """ if auto_rollback is not None: pulumi.set(__self__, "auto_rollback", auto_rollback) @@ -259,8 +263,12 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_warmup", instance_warmup) if min_healthy_percentage is not None: pulumi.set(__self__, "min_healthy_percentage", min_healthy_percentage) + if scale_in_protected_instances is not None: + pulumi.set(__self__, "scale_in_protected_instances", scale_in_protected_instances) if skip_matching is not None: pulumi.set(__self__, "skip_matching", skip_matching) + if standby_instances is not None: + pulumi.set(__self__, "standby_instances", standby_instances) @property @pulumi.getter(name="autoRollback") @@ -322,6 +330,18 @@ def min_healthy_percentage(self) -> Optional[pulumi.Input[int]]: def min_healthy_percentage(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min_healthy_percentage", value) + @property + @pulumi.getter(name="scaleInProtectedInstances") + def scale_in_protected_instances(self) -> Optional[pulumi.Input[str]]: + """ + Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + """ + return pulumi.get(self, "scale_in_protected_instances") + + @scale_in_protected_instances.setter + def scale_in_protected_instances(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_in_protected_instances", value) + @property @pulumi.getter(name="skipMatching") def skip_matching(self) -> Optional[pulumi.Input[bool]]: @@ -334,6 +354,18 @@ def skip_matching(self) -> Optional[pulumi.Input[bool]]: def skip_matching(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "skip_matching", value) + @property + @pulumi.getter(name="standbyInstances") + def standby_instances(self) -> Optional[pulumi.Input[str]]: + """ + Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + """ + return pulumi.get(self, "standby_instances") + + @standby_instances.setter + def standby_instances(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "standby_instances", value) + @pulumi.input_type class GroupLaunchTemplateArgs: diff --git a/sdk/python/pulumi_aws/autoscaling/outputs.py b/sdk/python/pulumi_aws/autoscaling/outputs.py index 2d3b3582d56..5d9e2c7160c 100644 --- a/sdk/python/pulumi_aws/autoscaling/outputs.py +++ b/sdk/python/pulumi_aws/autoscaling/outputs.py @@ -256,8 +256,12 @@ def __key_warning(key: str): suggest = "instance_warmup" elif key == "minHealthyPercentage": suggest = "min_healthy_percentage" + elif key == "scaleInProtectedInstances": + suggest = "scale_in_protected_instances" elif key == "skipMatching": suggest = "skip_matching" + elif key == "standbyInstances": + suggest = "standby_instances" if suggest: pulumi.log.warn(f"Key '{key}' not found in GroupInstanceRefreshPreferences. Access the value via the '{suggest}' property getter instead.") @@ -276,14 +280,18 @@ def __init__(__self__, *, checkpoint_percentages: Optional[Sequence[int]] = None, instance_warmup: Optional[str] = None, min_healthy_percentage: Optional[int] = None, - skip_matching: Optional[bool] = None): + scale_in_protected_instances: Optional[str] = None, + skip_matching: Optional[bool] = None, + standby_instances: Optional[str] = None): """ :param bool auto_rollback: Automatically rollback if instance refresh fails. Defaults to `false`. This option may only be set to `true` when specifying a `launch_template` or `mixed_instances_policy`. :param str checkpoint_delay: Number of seconds to wait after a checkpoint. Defaults to `3600`. :param Sequence[int] checkpoint_percentages: List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be `100`. :param str instance_warmup: Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period. :param int min_healthy_percentage: Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`. + :param str scale_in_protected_instances: Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. :param bool skip_matching: Replace instances that already have your desired configuration. Defaults to `false`. + :param str standby_instances: Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. """ if auto_rollback is not None: pulumi.set(__self__, "auto_rollback", auto_rollback) @@ -295,8 +303,12 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_warmup", instance_warmup) if min_healthy_percentage is not None: pulumi.set(__self__, "min_healthy_percentage", min_healthy_percentage) + if scale_in_protected_instances is not None: + pulumi.set(__self__, "scale_in_protected_instances", scale_in_protected_instances) if skip_matching is not None: pulumi.set(__self__, "skip_matching", skip_matching) + if standby_instances is not None: + pulumi.set(__self__, "standby_instances", standby_instances) @property @pulumi.getter(name="autoRollback") @@ -338,6 +350,14 @@ def min_healthy_percentage(self) -> Optional[int]: """ return pulumi.get(self, "min_healthy_percentage") + @property + @pulumi.getter(name="scaleInProtectedInstances") + def scale_in_protected_instances(self) -> Optional[str]: + """ + Behavior when encountering instances protected from scale in are found. Available behaviors are `Refresh`, `Ignore`, and `Wait`. Default is `Ignore`. + """ + return pulumi.get(self, "scale_in_protected_instances") + @property @pulumi.getter(name="skipMatching") def skip_matching(self) -> Optional[bool]: @@ -346,6 +366,14 @@ def skip_matching(self) -> Optional[bool]: """ return pulumi.get(self, "skip_matching") + @property + @pulumi.getter(name="standbyInstances") + def standby_instances(self) -> Optional[str]: + """ + Behavior when encountering instances in the `Standby` state in are found. Available behaviors are `Terminate`, `Ignore`, and `Wait`. Default is `Ignore`. + """ + return pulumi.get(self, "standby_instances") + @pulumi.output_type class GroupLaunchTemplate(dict): diff --git a/sdk/python/pulumi_aws/cfg/aggregate_authorization.py b/sdk/python/pulumi_aws/cfg/aggregate_authorization.py index 3362538b460..ccc59343240 100644 --- a/sdk/python/pulumi_aws/cfg/aggregate_authorization.py +++ b/sdk/python/pulumi_aws/cfg/aggregate_authorization.py @@ -21,7 +21,7 @@ def __init__(__self__, *, The set of arguments for constructing a AggregateAuthorization resource. :param pulumi.Input[str] account_id: Account ID :param pulumi.Input[str] region: Region - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "account_id", account_id) pulumi.set(__self__, "region", region) @@ -56,7 +56,7 @@ def region(self, value: pulumi.Input[str]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -78,7 +78,7 @@ def __init__(__self__, *, :param pulumi.Input[str] account_id: Account ID :param pulumi.Input[str] arn: The ARN of the authorization :param pulumi.Input[str] region: Region - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if account_id is not None: @@ -132,7 +132,7 @@ def region(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -178,17 +178,17 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example: + In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import { - ```sh - $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1 - ``` + to = aws_config_aggregate_authorization.example + + id = "123456789012:us-east-1" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: Account ID :param pulumi.Input[str] region: Region - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -212,11 +212,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Config aggregate authorizations using `account_id:region`. For example: + In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For exampleterraform import { - ```sh - $ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1 - ``` + to = aws_config_aggregate_authorization.example + + id = "123456789012:us-east-1" } Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For exampleconsole % TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1 :param str resource_name: The name of the resource. :param AggregateAuthorizationArgs args: The arguments to use to populate this resource's properties. @@ -279,7 +279,7 @@ def get(resource_name: str, :param pulumi.Input[str] account_id: Account ID :param pulumi.Input[str] arn: The ARN of the authorization :param pulumi.Input[str] region: Region - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -321,7 +321,7 @@ def region(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/cloud9/environment_membership.py b/sdk/python/pulumi_aws/cloud9/environment_membership.py index 78b050f122e..6db2c99601c 100644 --- a/sdk/python/pulumi_aws/cloud9/environment_membership.py +++ b/sdk/python/pulumi_aws/cloud9/environment_membership.py @@ -164,11 +164,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import { - ```sh - $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn - ``` + to = aws_cloud9_environment_membership.test + + id = "environment-id#user-arn" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -201,11 +201,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For exampleterraform import { - ```sh - $ pulumi import aws:cloud9/environmentMembership:EnvironmentMembership test environment-id#user-arn - ``` + to = aws_cloud9_environment_membership.test + + id = "environment-id#user-arn" } Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For exampleconsole % TODO import aws_cloud9_environment_membership.test environment-id#user-arn :param str resource_name: The name of the resource. :param EnvironmentMembershipArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/cloudformation/stack_set.py b/sdk/python/pulumi_aws/cloudformation/stack_set.py index d92c254dd40..965b72b67ac 100644 --- a/sdk/python/pulumi_aws/cloudformation/stack_set.py +++ b/sdk/python/pulumi_aws/cloudformation/stack_set.py @@ -618,7 +618,7 @@ def __init__(__self__, Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example: ```sh - $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN + $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN ``` :param str resource_name: The name of the resource. @@ -717,7 +717,7 @@ def __init__(__self__, Using `TODO import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example: ```sh - $ pulumi import aws:cloudformation/stackSet:StackSet example example/DELEGATED_ADMIN + $ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_aws/cloudformation/stack_set_instance.py b/sdk/python/pulumi_aws/cloudformation/stack_set_instance.py index db4db4c7014..6d4f5533b9b 100644 --- a/sdk/python/pulumi_aws/cloudformation/stack_set_instance.py +++ b/sdk/python/pulumi_aws/cloudformation/stack_set_instance.py @@ -413,6 +413,8 @@ def __init__(__self__, Import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example: + Import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example: + Using `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example: ```sh @@ -513,6 +515,8 @@ def __init__(__self__, Import CloudFormation StackSet Instances that target AWS Organizational Units using the StackSet name, a slash (`/`) separated list of organizational unit IDs, and target AWS Region separated by commas (`,`). For example: + Import CloudFormation StackSet Instances when acting a delegated administrator in a member account using the StackSet name, target AWS account ID or slash (`/`) separated list of organizational unit IDs, target AWS Region and `call_as` value separated by commas (`,`). For example: + Using `TODO import`, import CloudFormation StackSet Instances that target an AWS Account ID using the StackSet name, target AWS account ID, and target AWS Region separated by commas (`,`). For example: ```sh diff --git a/sdk/python/pulumi_aws/codepipeline/pipeline.py b/sdk/python/pulumi_aws/codepipeline/pipeline.py index 82036891a6e..19514ae8791 100644 --- a/sdk/python/pulumi_aws/codepipeline/pipeline.py +++ b/sdk/python/pulumi_aws/codepipeline/pipeline.py @@ -27,7 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[str] role_arn: A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf. :param pulumi.Input[Sequence[pulumi.Input['PipelineStageArgs']]] stages: A stage block. Stages are documented below. :param pulumi.Input[str] name: The name of the pipeline. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "artifact_stores", artifact_stores) pulumi.set(__self__, "role_arn", role_arn) @@ -89,7 +89,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -115,7 +115,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the pipeline. :param pulumi.Input[str] role_arn: A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf. :param pulumi.Input[Sequence[pulumi.Input['PipelineStageArgs']]] stages: A stage block. Stages are documented below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: @@ -197,7 +197,7 @@ def stages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineSta @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -350,11 +350,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodePipelines using the name. For example: + In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import { - ```sh - $ pulumi import aws:codepipeline/pipeline:Pipeline foo example - ``` + to = aws_codepipeline.foo + + id = "example" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -362,7 +362,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the pipeline. :param pulumi.Input[str] role_arn: A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineStageArgs']]]] stages: A stage block. Stages are documented below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -491,11 +491,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodePipelines using the name. For example: + In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For exampleterraform import { - ```sh - $ pulumi import aws:codepipeline/pipeline:Pipeline foo example - ``` + to = aws_codepipeline.foo + + id = "example" } Using `TODO import`, import CodePipelines using the name. For exampleconsole % TODO import aws_codepipeline.foo example :param str resource_name: The name of the resource. :param PipelineArgs args: The arguments to use to populate this resource's properties. @@ -568,7 +568,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the pipeline. :param pulumi.Input[str] role_arn: A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineStageArgs']]]] stages: A stage block. Stages are documented below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -628,7 +628,7 @@ def stages(self) -> pulumi.Output[Sequence['outputs.PipelineStage']]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/codepipeline/webhook.py b/sdk/python/pulumi_aws/codepipeline/webhook.py index 6503deb881b..b5cf77dd18c 100644 --- a/sdk/python/pulumi_aws/codepipeline/webhook.py +++ b/sdk/python/pulumi_aws/codepipeline/webhook.py @@ -31,7 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[str] target_pipeline: The name of the pipeline. :param pulumi.Input['WebhookAuthenticationConfigurationArgs'] authentication_configuration: An `auth` block. Required for `IP` and `GITHUB_HMAC`. Auth blocks are documented below. :param pulumi.Input[str] name: The name of the webhook. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "authentication", authentication) pulumi.set(__self__, "filters", filters) @@ -120,7 +120,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -149,7 +149,7 @@ def __init__(__self__, *, :param pulumi.Input['WebhookAuthenticationConfigurationArgs'] authentication_configuration: An `auth` block. Required for `IP` and `GITHUB_HMAC`. Auth blocks are documented below. :param pulumi.Input[Sequence[pulumi.Input['WebhookFilterArgs']]] filters: One or more `filter` blocks. Filter blocks are documented below. :param pulumi.Input[str] name: The name of the webhook. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] target_action: The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline. :param pulumi.Input[str] target_pipeline: The name of the pipeline. @@ -240,7 +240,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -388,11 +388,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example - ``` + to = aws_codepipeline_webhook.example + + id = "arn:aws:codepipeline:us-west-2:123456789012:webhook:example" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -400,7 +400,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['WebhookAuthenticationConfigurationArgs']] authentication_configuration: An `auth` block. Required for `IP` and `GITHUB_HMAC`. Auth blocks are documented below. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WebhookFilterArgs']]]] filters: One or more `filter` blocks. Filter blocks are documented below. :param pulumi.Input[str] name: The name of the webhook. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] target_action: The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline. :param pulumi.Input[str] target_pipeline: The name of the pipeline. """ @@ -488,11 +488,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codepipeline/webhook:Webhook example arn:aws:codepipeline:us-west-2:123456789012:webhook:example - ``` + to = aws_codepipeline_webhook.example + + id = "arn:aws:codepipeline:us-west-2:123456789012:webhook:example" } Using `TODO import`, import CodePipeline Webhooks using their ARN. For exampleconsole % TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example :param str resource_name: The name of the resource. :param WebhookArgs args: The arguments to use to populate this resource's properties. @@ -575,7 +575,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['WebhookAuthenticationConfigurationArgs']] authentication_configuration: An `auth` block. Required for `IP` and `GITHUB_HMAC`. Auth blocks are documented below. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WebhookFilterArgs']]]] filters: One or more `filter` blocks. Filter blocks are documented below. :param pulumi.Input[str] name: The name of the webhook. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] target_action: The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline. :param pulumi.Input[str] target_pipeline: The name of the pipeline. @@ -641,7 +641,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/codestarconnections/connection.py b/sdk/python/pulumi_aws/codestarconnections/connection.py index 10d649d12a0..5fcf0144aca 100644 --- a/sdk/python/pulumi_aws/codestarconnections/connection.py +++ b/sdk/python/pulumi_aws/codestarconnections/connection.py @@ -258,11 +258,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodeStar connections using the ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 - ``` + to = aws_codestarconnections_connection.test-connection + + id = "arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -322,11 +322,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodeStar connections using the ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codestarconnections/connection:Connection test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 - ``` + to = aws_codestarconnections_connection.test-connection + + id = "arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar connections using the ARN. For exampleconsole % TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448 :param str resource_name: The name of the resource. :param ConnectionArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/codestarconnections/host.py b/sdk/python/pulumi_aws/codestarconnections/host.py index 306e4c17022..686fefe7ff7 100644 --- a/sdk/python/pulumi_aws/codestarconnections/host.py +++ b/sdk/python/pulumi_aws/codestarconnections/host.py @@ -215,11 +215,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodeStar Host using the ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 - ``` + to = aws_codestarconnections_host.example-host + + id = "arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -252,11 +252,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodeStar Host using the ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codestarconnections/host:Host example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 - ``` + to = aws_codestarconnections_host.example-host + + id = "arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" } Using `TODO import`, import CodeStar Host using the ARN. For exampleconsole % TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448 :param str resource_name: The name of the resource. :param HostArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/codestarnotifications/notification_rule.py b/sdk/python/pulumi_aws/codestarnotifications/notification_rule.py index 0798a0623b8..1ca4d5a8a2b 100644 --- a/sdk/python/pulumi_aws/codestarnotifications/notification_rule.py +++ b/sdk/python/pulumi_aws/codestarnotifications/notification_rule.py @@ -31,7 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[str] resource: The ARN of the resource to associate with the notification rule. :param pulumi.Input[str] name: The name of notification rule. :param pulumi.Input[str] status: The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input['NotificationRuleTargetArgs']]] targets: Configuration blocks containing notification target information. Can be specified multiple times. At least one target must be specified on creation. """ pulumi.set(__self__, "detail_type", detail_type) @@ -111,7 +111,7 @@ def status(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -153,7 +153,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of notification rule. :param pulumi.Input[str] resource: The ARN of the resource to associate with the notification rule. :param pulumi.Input[str] status: The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input['NotificationRuleTargetArgs']]] targets: Configuration blocks containing notification target information. Can be specified multiple times. At least one target must be specified on creation. """ @@ -253,7 +253,7 @@ def status(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -332,11 +332,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodeStar notification rule using the ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b - ``` + to = aws_codestarnotifications_notification_rule.foo + + id = "arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -346,7 +346,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of notification rule. :param pulumi.Input[str] resource: The ARN of the resource to associate with the notification rule. :param pulumi.Input[str] status: The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationRuleTargetArgs']]]] targets: Configuration blocks containing notification target information. Can be specified multiple times. At least one target must be specified on creation. """ ... @@ -388,11 +388,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import CodeStar notification rule using the ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For exampleterraform import { - ```sh - $ pulumi import aws:codestarnotifications/notificationRule:NotificationRule foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b - ``` + to = aws_codestarnotifications_notification_rule.foo + + id = "arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" } Using `TODO import`, import CodeStar notification rule using the ARN. For exampleconsole % TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b :param str resource_name: The name of the resource. :param NotificationRuleArgs args: The arguments to use to populate this resource's properties. @@ -473,7 +473,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of notification rule. :param pulumi.Input[str] resource: The ARN of the resource to associate with the notification rule. :param pulumi.Input[str] status: The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, default is `ENABLED`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NotificationRuleTargetArgs']]]] targets: Configuration blocks containing notification target information. Can be specified multiple times. At least one target must be specified on creation. """ @@ -545,7 +545,7 @@ def status(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/cognito/__init__.py b/sdk/python/pulumi_aws/cognito/__init__.py index 60429ea0ed7..7096ce48932 100644 --- a/sdk/python/pulumi_aws/cognito/__init__.py +++ b/sdk/python/pulumi_aws/cognito/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .get_identity_pool import * from .get_user_pool_client import * from .get_user_pool_clients import * from .get_user_pool_signing_certificate import * diff --git a/sdk/python/pulumi_aws/cognito/get_identity_pool.py b/sdk/python/pulumi_aws/cognito/get_identity_pool.py new file mode 100644 index 00000000000..d0a18e2e60b --- /dev/null +++ b/sdk/python/pulumi_aws/cognito/get_identity_pool.py @@ -0,0 +1,226 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetIdentityPoolResult', + 'AwaitableGetIdentityPoolResult', + 'get_identity_pool', + 'get_identity_pool_output', +] + +@pulumi.output_type +class GetIdentityPoolResult: + """ + A collection of values returned by getIdentityPool. + """ + def __init__(__self__, allow_classic_flow=None, allow_unauthenticated_identities=None, arn=None, cognito_identity_providers=None, developer_provider_name=None, id=None, identity_pool_name=None, openid_connect_provider_arns=None, saml_provider_arns=None, supported_login_providers=None, tags=None): + if allow_classic_flow and not isinstance(allow_classic_flow, bool): + raise TypeError("Expected argument 'allow_classic_flow' to be a bool") + pulumi.set(__self__, "allow_classic_flow", allow_classic_flow) + if allow_unauthenticated_identities and not isinstance(allow_unauthenticated_identities, bool): + raise TypeError("Expected argument 'allow_unauthenticated_identities' to be a bool") + pulumi.set(__self__, "allow_unauthenticated_identities", allow_unauthenticated_identities) + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if cognito_identity_providers and not isinstance(cognito_identity_providers, list): + raise TypeError("Expected argument 'cognito_identity_providers' to be a list") + pulumi.set(__self__, "cognito_identity_providers", cognito_identity_providers) + if developer_provider_name and not isinstance(developer_provider_name, str): + raise TypeError("Expected argument 'developer_provider_name' to be a str") + pulumi.set(__self__, "developer_provider_name", developer_provider_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity_pool_name and not isinstance(identity_pool_name, str): + raise TypeError("Expected argument 'identity_pool_name' to be a str") + pulumi.set(__self__, "identity_pool_name", identity_pool_name) + if openid_connect_provider_arns and not isinstance(openid_connect_provider_arns, list): + raise TypeError("Expected argument 'openid_connect_provider_arns' to be a list") + pulumi.set(__self__, "openid_connect_provider_arns", openid_connect_provider_arns) + if saml_provider_arns and not isinstance(saml_provider_arns, list): + raise TypeError("Expected argument 'saml_provider_arns' to be a list") + pulumi.set(__self__, "saml_provider_arns", saml_provider_arns) + if supported_login_providers and not isinstance(supported_login_providers, dict): + raise TypeError("Expected argument 'supported_login_providers' to be a dict") + pulumi.set(__self__, "supported_login_providers", supported_login_providers) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="allowClassicFlow") + def allow_classic_flow(self) -> bool: + """ + Whether the classic / basic authentication flow is enabled. + """ + return pulumi.get(self, "allow_classic_flow") + + @property + @pulumi.getter(name="allowUnauthenticatedIdentities") + def allow_unauthenticated_identities(self) -> bool: + """ + Whether the identity pool supports unauthenticated logins or not. + """ + return pulumi.get(self, "allow_unauthenticated_identities") + + @property + @pulumi.getter + def arn(self) -> str: + """ + ARN of the Pool. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="cognitoIdentityProviders") + def cognito_identity_providers(self) -> Sequence['outputs.GetIdentityPoolCognitoIdentityProviderResult']: + """ + An array of Amazon Cognito Identity user pools and their client IDs. + """ + return pulumi.get(self, "cognito_identity_providers") + + @property + @pulumi.getter(name="developerProviderName") + def developer_provider_name(self) -> str: + """ + The "domain" by which Cognito will refer to your users. + """ + return pulumi.get(self, "developer_provider_name") + + @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="identityPoolName") + def identity_pool_name(self) -> str: + return pulumi.get(self, "identity_pool_name") + + @property + @pulumi.getter(name="openidConnectProviderArns") + def openid_connect_provider_arns(self) -> Sequence[str]: + """ + Set of OpendID Connect provider ARNs. + """ + return pulumi.get(self, "openid_connect_provider_arns") + + @property + @pulumi.getter(name="samlProviderArns") + def saml_provider_arns(self) -> Sequence[str]: + """ + An array of Amazon Resource Names (ARNs) of the SAML provider for your identity. + """ + return pulumi.get(self, "saml_provider_arns") + + @property + @pulumi.getter(name="supportedLoginProviders") + def supported_login_providers(self) -> Mapping[str, str]: + """ + Key-Value pairs mapping provider names to provider app IDs. + """ + return pulumi.get(self, "supported_login_providers") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + A map of tags to assigned to the Identity Pool. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetIdentityPoolResult(GetIdentityPoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIdentityPoolResult( + allow_classic_flow=self.allow_classic_flow, + allow_unauthenticated_identities=self.allow_unauthenticated_identities, + arn=self.arn, + cognito_identity_providers=self.cognito_identity_providers, + developer_provider_name=self.developer_provider_name, + id=self.id, + identity_pool_name=self.identity_pool_name, + openid_connect_provider_arns=self.openid_connect_provider_arns, + saml_provider_arns=self.saml_provider_arns, + supported_login_providers=self.supported_login_providers, + tags=self.tags) + + +def get_identity_pool(identity_pool_name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIdentityPoolResult: + """ + Data source for managing an AWS Cognito Identity Pool. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.cognito.get_identity_pool(identity_pool_name="test pool") + ``` + + + :param str identity_pool_name: The Cognito Identity Pool name. + :param Mapping[str, str] tags: A map of tags to assigned to the Identity Pool. + """ + __args__ = dict() + __args__['identityPoolName'] = identity_pool_name + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:cognito/getIdentityPool:getIdentityPool', __args__, opts=opts, typ=GetIdentityPoolResult).value + + return AwaitableGetIdentityPoolResult( + allow_classic_flow=pulumi.get(__ret__, 'allow_classic_flow'), + allow_unauthenticated_identities=pulumi.get(__ret__, 'allow_unauthenticated_identities'), + arn=pulumi.get(__ret__, 'arn'), + cognito_identity_providers=pulumi.get(__ret__, 'cognito_identity_providers'), + developer_provider_name=pulumi.get(__ret__, 'developer_provider_name'), + id=pulumi.get(__ret__, 'id'), + identity_pool_name=pulumi.get(__ret__, 'identity_pool_name'), + openid_connect_provider_arns=pulumi.get(__ret__, 'openid_connect_provider_arns'), + saml_provider_arns=pulumi.get(__ret__, 'saml_provider_arns'), + supported_login_providers=pulumi.get(__ret__, 'supported_login_providers'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_identity_pool) +def get_identity_pool_output(identity_pool_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetIdentityPoolResult]: + """ + Data source for managing an AWS Cognito Identity Pool. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.cognito.get_identity_pool(identity_pool_name="test pool") + ``` + + + :param str identity_pool_name: The Cognito Identity Pool name. + :param Mapping[str, str] tags: A map of tags to assigned to the Identity Pool. + """ + ... diff --git a/sdk/python/pulumi_aws/cognito/identity_pool.py b/sdk/python/pulumi_aws/cognito/identity_pool.py index 248ebd82c40..4e5bfcb4005 100644 --- a/sdk/python/pulumi_aws/cognito/identity_pool.py +++ b/sdk/python/pulumi_aws/cognito/identity_pool.py @@ -403,11 +403,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito Identity Pool using its ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import { - ```sh - $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 - ``` + to = aws_cognito_identity_pool.mypool + + id = "us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -464,11 +464,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito Identity Pool using its ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For exampleterraform import { - ```sh - $ pulumi import aws:cognito/identityPool:IdentityPool mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 - ``` + to = aws_cognito_identity_pool.mypool + + id = "us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" } Using `TODO import`, import Cognito Identity Pool using its ID. For exampleconsole % TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3 :param str resource_name: The name of the resource. :param IdentityPoolArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/cognito/identity_pool_provider_principal_tag.py b/sdk/python/pulumi_aws/cognito/identity_pool_provider_principal_tag.py index da85cf75fb8..278ec98681d 100644 --- a/sdk/python/pulumi_aws/cognito/identity_pool_provider_principal_tag.py +++ b/sdk/python/pulumi_aws/cognito/identity_pool_provider_principal_tag.py @@ -168,11 +168,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import { - ```sh - $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD - ``` + to = aws_cognito_identity_pool_provider_principal_tag.example + + id = "us-west-2_abc123:CorpAD" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -192,11 +192,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleterraform import { + + to = aws_cognito_identity_pool_provider_principal_tag.example - ```sh - $ pulumi import aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag example us-west-2_abc123:CorpAD - ``` + id = "us-west-2_abc123:CorpAD" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For exampleconsole % TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD :param str resource_name: The name of the resource. :param IdentityPoolProviderPrincipalTagArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/cognito/identity_pool_role_attachment.py b/sdk/python/pulumi_aws/cognito/identity_pool_role_attachment.py index 33d161690e0..16da75ccffd 100644 --- a/sdk/python/pulumi_aws/cognito/identity_pool_role_attachment.py +++ b/sdk/python/pulumi_aws/cognito/identity_pool_role_attachment.py @@ -137,11 +137,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import { - ```sh - $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 - ``` + to = aws_cognito_identity_pool_roles_attachment.example + + id = "us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -160,11 +160,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleterraform import { + + to = aws_cognito_identity_pool_roles_attachment.example - ```sh - $ pulumi import aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 - ``` + id = "us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" } Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For exampleconsole % TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42 :param str resource_name: The name of the resource. :param IdentityPoolRoleAttachmentArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/cognito/outputs.py b/sdk/python/pulumi_aws/cognito/outputs.py index fcc7224cbc3..c8c96dcda42 100644 --- a/sdk/python/pulumi_aws/cognito/outputs.py +++ b/sdk/python/pulumi_aws/cognito/outputs.py @@ -50,6 +50,7 @@ 'UserPoolUserPoolAddOns', 'UserPoolUsernameConfiguration', 'UserPoolVerificationMessageTemplate', + 'GetIdentityPoolCognitoIdentityProviderResult', 'GetUserPoolClientAnalyticsConfigurationResult', 'GetUserPoolClientTokenValidityUnitResult', ] @@ -2514,6 +2515,32 @@ def sms_message(self) -> Optional[str]: return pulumi.get(self, "sms_message") +@pulumi.output_type +class GetIdentityPoolCognitoIdentityProviderResult(dict): + def __init__(__self__, *, + client_id: str, + provider_name: str, + server_side_token_check: bool): + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "provider_name", provider_name) + pulumi.set(__self__, "server_side_token_check", server_side_token_check) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> str: + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="providerName") + def provider_name(self) -> str: + return pulumi.get(self, "provider_name") + + @property + @pulumi.getter(name="serverSideTokenCheck") + def server_side_token_check(self) -> bool: + return pulumi.get(self, "server_side_token_check") + + @pulumi.output_type class GetUserPoolClientAnalyticsConfigurationResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/cognito/user_pool.py b/sdk/python/pulumi_aws/cognito/user_pool.py index 123bcd2fe2e..71e9833f670 100644 --- a/sdk/python/pulumi_aws/cognito/user_pool.py +++ b/sdk/python/pulumi_aws/cognito/user_pool.py @@ -59,7 +59,7 @@ def __init__(__self__, *, :param pulumi.Input['UserPoolPasswordPolicyArgs'] password_policy: Configuration block for information about the user pool password policy. Detailed below. :param pulumi.Input[Sequence[pulumi.Input['UserPoolSchemaArgs']]] schemas: Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. :param pulumi.Input[str] sms_authentication_message: String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. - :param pulumi.Input['UserPoolSmsConfigurationArgs'] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + :param pulumi.Input['UserPoolSmsConfigurationArgs'] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. :param pulumi.Input[str] sms_verification_message: String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument. :param pulumi.Input['UserPoolSoftwareTokenMfaConfigurationArgs'] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -304,7 +304,7 @@ def sms_authentication_message(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="smsConfiguration") def sms_configuration(self) -> Optional[pulumi.Input['UserPoolSmsConfigurationArgs']]: """ - Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. """ return pulumi.get(self, "sms_configuration") @@ -470,7 +470,7 @@ def __init__(__self__, *, :param pulumi.Input['UserPoolPasswordPolicyArgs'] password_policy: Configuration block for information about the user pool password policy. Detailed below. :param pulumi.Input[Sequence[pulumi.Input['UserPoolSchemaArgs']]] schemas: Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. :param pulumi.Input[str] sms_authentication_message: String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. - :param pulumi.Input['UserPoolSmsConfigurationArgs'] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + :param pulumi.Input['UserPoolSmsConfigurationArgs'] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. :param pulumi.Input[str] sms_verification_message: String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument. :param pulumi.Input['UserPoolSoftwareTokenMfaConfigurationArgs'] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -816,7 +816,7 @@ def sms_authentication_message(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="smsConfiguration") def sms_configuration(self) -> Optional[pulumi.Input['UserPoolSmsConfigurationArgs']]: """ - Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. """ return pulumi.get(self, "sms_configuration") @@ -1016,11 +1016,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito User Pools using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 - ``` + to = aws_cognito_user_pool.pool + + id = "us-west-2_abc123" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -1041,7 +1041,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['UserPoolPasswordPolicyArgs']] password_policy: Configuration block for information about the user pool password policy. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UserPoolSchemaArgs']]]] schemas: Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. :param pulumi.Input[str] sms_authentication_message: String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. - :param pulumi.Input[pulumi.InputType['UserPoolSmsConfigurationArgs']] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + :param pulumi.Input[pulumi.InputType['UserPoolSmsConfigurationArgs']] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. :param pulumi.Input[str] sms_verification_message: String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument. :param pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1110,11 +1110,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Cognito User Pools using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:cognito/userPool:UserPool pool us-west-2_abc123 - ``` + to = aws_cognito_user_pool.pool + + id = "us-west-2_abc123" } Using `TODO import`, import Cognito User Pools using the `id`. For exampleconsole % TODO import aws_cognito_user_pool.pool us-west-2_abc123 :param str resource_name: The name of the resource. :param UserPoolArgs args: The arguments to use to populate this resource's properties. @@ -1269,7 +1269,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['UserPoolPasswordPolicyArgs']] password_policy: Configuration block for information about the user pool password policy. Detailed below. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UserPoolSchemaArgs']]]] schemas: Configuration block for the schema attributes of a user pool. Detailed below. Schema attributes from the [standard attribute set](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) only need to be specified if they are different from the default configuration. Attributes can be added, but not modified or removed. Maximum of 50 attributes. :param pulumi.Input[str] sms_authentication_message: String representing the SMS authentication message. The Message must contain the `{####}` placeholder, which will be replaced with the code. - :param pulumi.Input[pulumi.InputType['UserPoolSmsConfigurationArgs']] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + :param pulumi.Input[pulumi.InputType['UserPoolSmsConfigurationArgs']] sms_configuration: Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. :param pulumi.Input[str] sms_verification_message: String representing the SMS verification message. Conflicts with `verification_message_template` configuration block `sms_message` argument. :param pulumi.Input[pulumi.InputType['UserPoolSoftwareTokenMfaConfigurationArgs']] software_token_mfa_configuration: Configuration block for software token Mult-Factor Authentication (MFA) settings. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the User Pool. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1500,7 +1500,7 @@ def sms_authentication_message(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="smsConfiguration") def sms_configuration(self) -> pulumi.Output['outputs.UserPoolSmsConfiguration']: """ - Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. + Configuration block for Short Message Service (SMS) settings. Detailed below. These settings apply to SMS user verification and SMS Multi-Factor Authentication (MFA). Due to Cognito API restrictions, the SMS configuration cannot be removed without recreating the Cognito User Pool. For user data safety, this resource will ignore the removal of this configuration by disabling drift detection. To force resource recreation after this configuration has been applied, see the `taint` command. """ return pulumi.get(self, "sms_configuration") diff --git a/sdk/python/pulumi_aws/connect/bot_association.py b/sdk/python/pulumi_aws/connect/bot_association.py index 9cb2a97cc80..1a22376c215 100644 --- a/sdk/python/pulumi_aws/connect/bot_association.py +++ b/sdk/python/pulumi_aws/connect/bot_association.py @@ -164,11 +164,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import { - ```sh - $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 - ``` + to = aws_connect_bot_association.example + + id = "aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -246,11 +246,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleterraform import { - ```sh - $ pulumi import aws:connect/botAssociation:BotAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 - ``` + to = aws_connect_bot_association.example + + id = "aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" } Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For exampleconsole % TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2 :param str resource_name: The name of the resource. :param BotAssociationArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/connect/lambda_function_association.py b/sdk/python/pulumi_aws/connect/lambda_function_association.py index 85ea7827768..faafa1c3c9a 100644 --- a/sdk/python/pulumi_aws/connect/lambda_function_association.py +++ b/sdk/python/pulumi_aws/connect/lambda_function_association.py @@ -114,11 +114,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import { - ```sh - $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example - ``` + to = aws_connect_lambda_function_association.example + + id = "aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -148,11 +148,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleterraform import { - ```sh - $ pulumi import aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example - ``` + to = aws_connect_lambda_function_association.example + + id = "aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" } Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For exampleconsole % TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example :param str resource_name: The name of the resource. :param LambdaFunctionAssociationArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/dlm/_inputs.py b/sdk/python/pulumi_aws/dlm/_inputs.py index d1c4cd698ba..db57b567f68 100644 --- a/sdk/python/pulumi_aws/dlm/_inputs.py +++ b/sdk/python/pulumi_aws/dlm/_inputs.py @@ -50,7 +50,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['LifecyclePolicyPolicyDetailsScheduleArgs']]] schedules: See the `schedule` configuration block. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] target_tags: A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. - > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. """ if action is not None: pulumi.set(__self__, "action", action) @@ -159,7 +159,7 @@ def target_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] """ A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. - > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. """ return pulumi.get(self, "target_tags") diff --git a/sdk/python/pulumi_aws/dlm/lifecycle_policy.py b/sdk/python/pulumi_aws/dlm/lifecycle_policy.py index 3d5fd77e818..0ddc30673cd 100644 --- a/sdk/python/pulumi_aws/dlm/lifecycle_policy.py +++ b/sdk/python/pulumi_aws/dlm/lifecycle_policy.py @@ -27,7 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[str] execution_role_arn: The ARN of an IAM role that is able to be assumed by the DLM service. :param pulumi.Input['LifecyclePolicyPolicyDetailsArgs'] policy_details: See the `policy_details` configuration block. Max of 1. :param pulumi.Input[str] state: Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. - :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: 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. """ pulumi.set(__self__, "description", description) pulumi.set(__self__, "execution_role_arn", execution_role_arn) @@ -89,7 +89,7 @@ def state(self, value: Optional[pulumi.Input[str]]): @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. + 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") @@ -115,7 +115,7 @@ def __init__(__self__, *, :param pulumi.Input[str] execution_role_arn: The ARN of an IAM role that is able to be assumed by the DLM service. :param pulumi.Input['LifecyclePolicyPolicyDetailsArgs'] policy_details: See the `policy_details` configuration block. Max of 1. :param pulumi.Input[str] state: Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. - :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: 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: @@ -197,7 +197,7 @@ def state(self, value: Optional[pulumi.Input[str]]): @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. + 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") @@ -273,11 +273,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import DLM lifecycle policies using their policy ID. For example: + In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import { - ```sh - $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901 - ``` + to = aws_dlm_lifecycle_policy.example + + id = "policy-abcdef12345678901" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -285,7 +285,7 @@ def __init__(__self__, :param pulumi.Input[str] execution_role_arn: The ARN of an IAM role that is able to be assumed by the DLM service. :param pulumi.Input[pulumi.InputType['LifecyclePolicyPolicyDetailsArgs']] policy_details: See the `policy_details` configuration block. Max of 1. :param pulumi.Input[str] state: Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. - :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: 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 @@ -337,11 +337,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import DLM lifecycle policies using their policy ID. For example: + In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For exampleterraform import { - ```sh - $ pulumi import aws:dlm/lifecyclePolicy:LifecyclePolicy example policy-abcdef12345678901 - ``` + to = aws_dlm_lifecycle_policy.example + + id = "policy-abcdef12345678901" } Using `TODO import`, import DLM lifecycle policies using their policy ID. For exampleconsole % TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 :param str resource_name: The name of the resource. :param LifecyclePolicyArgs args: The arguments to use to populate this resource's properties. @@ -414,7 +414,7 @@ def get(resource_name: str, :param pulumi.Input[str] execution_role_arn: The ARN of an IAM role that is able to be assumed by the DLM service. :param pulumi.Input[pulumi.InputType['LifecyclePolicyPolicyDetailsArgs']] policy_details: See the `policy_details` configuration block. Max of 1. :param pulumi.Input[str] state: Whether the lifecycle policy should be enabled or disabled. `ENABLED` or `DISABLED` are valid values. Defaults to `ENABLED`. - :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: 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)) @@ -474,7 +474,7 @@ def state(self) -> pulumi.Output[Optional[str]]: @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. + 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") diff --git a/sdk/python/pulumi_aws/dlm/outputs.py b/sdk/python/pulumi_aws/dlm/outputs.py index 26c343a26f6..f243e2bf972 100644 --- a/sdk/python/pulumi_aws/dlm/outputs.py +++ b/sdk/python/pulumi_aws/dlm/outputs.py @@ -76,7 +76,7 @@ def __init__(__self__, *, :param Sequence['LifecyclePolicyPolicyDetailsScheduleArgs'] schedules: See the `schedule` configuration block. :param Mapping[str, str] target_tags: A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. - > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. """ if action is not None: pulumi.set(__self__, "action", action) @@ -157,7 +157,7 @@ def target_tags(self) -> Optional[Mapping[str, str]]: """ A map of tag keys and their values. Any resources that match the `resource_types` and are tagged with _any_ of these tags will be targeted. - > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. This provider is unable to detect this at plan time but it will fail during apply. + > Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply. """ return pulumi.get(self, "target_tags") diff --git a/sdk/python/pulumi_aws/ec2/network_interface.py b/sdk/python/pulumi_aws/ec2/network_interface.py index bd79678641e..5ea43984860 100644 --- a/sdk/python/pulumi_aws/ec2/network_interface.py +++ b/sdk/python/pulumi_aws/ec2/network_interface.py @@ -823,11 +823,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Network Interfaces using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3 - ``` + to = aws_network_interface.test + + id = "eni-e5aa89a3" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -896,11 +896,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Network Interfaces using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:ec2/networkInterface:NetworkInterface test eni-e5aa89a3 - ``` + to = aws_network_interface.test + + id = "eni-e5aa89a3" } Using `TODO import`, import Network Interfaces using the `id`. For exampleconsole % TODO import aws_network_interface.test eni-e5aa89a3 :param str resource_name: The name of the resource. :param NetworkInterfaceArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/elasticache/cluster.py b/sdk/python/pulumi_aws/elasticache/cluster.py index 5c8b5fdfd67..b6d76e2a505 100644 --- a/sdk/python/pulumi_aws/elasticache/cluster.py +++ b/sdk/python/pulumi_aws/elasticache/cluster.py @@ -43,7 +43,8 @@ def __init__(__self__, *, snapshot_retention_limit: Optional[pulumi.Input[int]] = None, snapshot_window: Optional[pulumi.Input[str]] = None, subnet_group_name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transit_encryption_enabled: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a Cluster resource. :param pulumi.Input[bool] apply_immediately: Whether any database modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html). @@ -87,6 +88,7 @@ def __init__(__self__, *, :param pulumi.Input[str] snapshot_window: Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. """ if apply_immediately is not None: pulumi.set(__self__, "apply_immediately", apply_immediately) @@ -144,6 +146,8 @@ def __init__(__self__, *, pulumi.set(__self__, "subnet_group_name", subnet_group_name) if tags is not None: pulumi.set(__self__, "tags", tags) + if transit_encryption_enabled is not None: + pulumi.set(__self__, "transit_encryption_enabled", transit_encryption_enabled) @property @pulumi.getter(name="applyImmediately") @@ -494,6 +498,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="transitEncryptionEnabled") + def transit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + """ + return pulumi.get(self, "transit_encryption_enabled") + + @transit_encryption_enabled.setter + def transit_encryption_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "transit_encryption_enabled", value) + @pulumi.input_type class _ClusterState: @@ -531,7 +547,8 @@ def __init__(__self__, *, snapshot_window: Optional[pulumi.Input[str]] = None, subnet_group_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): + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transit_encryption_enabled: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering Cluster resources. :param pulumi.Input[bool] apply_immediately: Whether any database modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html). @@ -581,6 +598,7 @@ def __init__(__self__, *, :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. """ if apply_immediately is not None: pulumi.set(__self__, "apply_immediately", apply_immediately) @@ -650,6 +668,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if tags_all is not None: pulumi.set(__self__, "tags_all", tags_all) + if transit_encryption_enabled is not None: + pulumi.set(__self__, "transit_encryption_enabled", transit_encryption_enabled) @property @pulumi.getter(name="applyImmediately") @@ -1072,6 +1092,18 @@ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags_all", value) + @property + @pulumi.getter(name="transitEncryptionEnabled") + def transit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + """ + return pulumi.get(self, "transit_encryption_enabled") + + @transit_encryption_enabled.setter + def transit_encryption_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "transit_encryption_enabled", value) + class Cluster(pulumi.CustomResource): @overload @@ -1106,6 +1138,7 @@ def __init__(__self__, snapshot_window: Optional[pulumi.Input[str]] = None, subnet_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, __props__=None): """ Provides an ElastiCache Cluster resource, which manages either a @@ -1245,6 +1278,7 @@ def __init__(__self__, :param pulumi.Input[str] snapshot_window: Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. """ ... @overload @@ -1390,6 +1424,7 @@ def _internal_init(__self__, snapshot_window: Optional[pulumi.Input[str]] = None, subnet_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -1427,6 +1462,7 @@ def _internal_init(__self__, __props__.__dict__["snapshot_window"] = snapshot_window __props__.__dict__["subnet_group_name"] = subnet_group_name __props__.__dict__["tags"] = tags + __props__.__dict__["transit_encryption_enabled"] = transit_encryption_enabled __props__.__dict__["arn"] = None __props__.__dict__["cache_nodes"] = None __props__.__dict__["cluster_address"] = None @@ -1476,7 +1512,8 @@ def get(resource_name: str, snapshot_window: Optional[pulumi.Input[str]] = None, subnet_group_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) -> 'Cluster': + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + transit_encryption_enabled: Optional[pulumi.Input[bool]] = None) -> 'Cluster': """ Get an existing Cluster resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -1531,6 +1568,7 @@ def get(resource_name: str, :param pulumi.Input[str] subnet_group_name: Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + :param pulumi.Input[bool] transit_encryption_enabled: Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1570,6 +1608,7 @@ def get(resource_name: str, __props__.__dict__["subnet_group_name"] = subnet_group_name __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["transit_encryption_enabled"] = transit_encryption_enabled return Cluster(resource_name, opts=opts, __props__=__props__) @property @@ -1857,3 +1896,11 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: """ return pulumi.get(self, "tags_all") + @property + @pulumi.getter(name="transitEncryptionEnabled") + def transit_encryption_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details. + """ + return pulumi.get(self, "transit_encryption_enabled") + diff --git a/sdk/python/pulumi_aws/emrcontainers/job_template.py b/sdk/python/pulumi_aws/emrcontainers/job_template.py index c2549cb7241..88f7a3bfa7b 100644 --- a/sdk/python/pulumi_aws/emrcontainers/job_template.py +++ b/sdk/python/pulumi_aws/emrcontainers/job_template.py @@ -221,11 +221,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EKS job templates using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l - ``` + to = aws_emrcontainers_job_template.example + + id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -263,11 +263,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EKS job templates using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:emrcontainers/jobTemplate:JobTemplate example a1b2c3d4e5f6g7h8i9j10k11l - ``` + to = aws_emrcontainers_job_template.example + + id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS job templates using the `id`. For exampleconsole % TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l :param str resource_name: The name of the resource. :param JobTemplateArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py b/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py index 7e4dc7aa404..483244014ae 100644 --- a/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py +++ b/sdk/python/pulumi_aws/emrcontainers/virtual_cluster.py @@ -23,7 +23,7 @@ def __init__(__self__, *, The set of arguments for constructing a VirtualCluster resource. :param pulumi.Input['VirtualClusterContainerProviderArgs'] container_provider: Configuration block for the container provider associated with your cluster. :param pulumi.Input[str] name: Name of the virtual cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "container_provider", container_provider) if name is not None: @@ -59,7 +59,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -81,7 +81,7 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: ARN of the cluster. :param pulumi.Input['VirtualClusterContainerProviderArgs'] container_provider: Configuration block for the container provider associated with your cluster. :param pulumi.Input[str] name: Name of the virtual cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: @@ -135,7 +135,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -188,17 +188,17 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EKS Clusters using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l - ``` + to = aws_emrcontainers_virtual_cluster.example + + id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['VirtualClusterContainerProviderArgs']] container_provider: Configuration block for the container provider associated with your cluster. :param pulumi.Input[str] name: Name of the virtual cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -229,11 +229,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EKS Clusters using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:emrcontainers/virtualCluster:VirtualCluster example a1b2c3d4e5f6g7h8i9j10k11l - ``` + to = aws_emrcontainers_virtual_cluster.example + + id = "a1b2c3d4e5f6g7h8i9j10k11l" } Using `TODO import`, import EKS Clusters using the `id`. For exampleconsole % TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l :param str resource_name: The name of the resource. :param VirtualClusterArgs args: The arguments to use to populate this resource's properties. @@ -294,7 +294,7 @@ def get(resource_name: str, :param pulumi.Input[str] arn: ARN of the cluster. :param pulumi.Input[pulumi.InputType['VirtualClusterContainerProviderArgs']] container_provider: Configuration block for the container provider associated with your cluster. :param pulumi.Input[str] name: Name of the virtual cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -336,7 +336,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/emrserverless/application.py b/sdk/python/pulumi_aws/emrserverless/application.py index 86ccf982962..5b0bc594d42 100644 --- a/sdk/python/pulumi_aws/emrserverless/application.py +++ b/sdk/python/pulumi_aws/emrserverless/application.py @@ -39,7 +39,7 @@ def __init__(__self__, *, :param pulumi.Input['ApplicationMaximumCapacityArgs'] maximum_capacity: The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit. :param pulumi.Input[str] name: The name of the application. :param pulumi.Input['ApplicationNetworkConfigurationArgs'] network_configuration: The network configuration for customer VPC connectivity. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "release_label", release_label) pulumi.set(__self__, "type", type) @@ -186,7 +186,7 @@ def network_configuration(self, value: Optional[pulumi.Input['ApplicationNetwork @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -223,7 +223,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the application. :param pulumi.Input['ApplicationNetworkConfigurationArgs'] network_configuration: The network configuration for customer VPC connectivity. :param pulumi.Input[str] release_label: The EMR release version associated with the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :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[str] type: The type of application you want to start, such as `spark` or `hive`. """ @@ -378,7 +378,7 @@ def release_label(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -479,11 +479,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EMR Severless applications using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:emrserverless/application:Application example id - ``` + to = aws_emrserverless_application.example + + id = "id" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -496,7 +496,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the application. :param pulumi.Input[pulumi.InputType['ApplicationNetworkConfigurationArgs']] network_configuration: The network configuration for customer VPC connectivity. :param pulumi.Input[str] release_label: The EMR release version associated with the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] type: The type of application you want to start, such as `spark` or `hive`. """ ... @@ -556,11 +556,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import EMR Severless applications using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:emrserverless/application:Application example id - ``` + to = aws_emrserverless_application.example + + id = "id" } Using `TODO import`, import EMR Severless applications using the `id`. For exampleconsole % TODO import aws_emrserverless_application.example id :param str resource_name: The name of the resource. :param ApplicationArgs args: The arguments to use to populate this resource's properties. @@ -654,7 +654,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the application. :param pulumi.Input[pulumi.InputType['ApplicationNetworkConfigurationArgs']] network_configuration: The network configuration for customer VPC connectivity. :param pulumi.Input[str] release_label: The EMR release version associated with the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :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[str] type: The type of application you want to start, such as `spark` or `hive`. """ @@ -761,7 +761,7 @@ def release_label(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/fsx/_inputs.py b/sdk/python/pulumi_aws/fsx/_inputs.py index 96c02197722..d1a4fe6159c 100644 --- a/sdk/python/pulumi_aws/fsx/_inputs.py +++ b/sdk/python/pulumi_aws/fsx/_inputs.py @@ -42,6 +42,7 @@ 'OpenZfsVolumeOriginSnapshotArgs', 'OpenZfsVolumeUserAndGroupQuotaArgs', 'WindowsFileSystemAuditLogConfigurationArgs', + 'WindowsFileSystemDiskIopsConfigurationArgs', 'WindowsFileSystemSelfManagedActiveDirectoryArgs', 'GetOpenZfsSnapshotFilterArgs', ] @@ -1549,6 +1550,45 @@ def file_share_access_audit_log_level(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "file_share_access_audit_log_level", value) +@pulumi.input_type +class WindowsFileSystemDiskIopsConfigurationArgs: + def __init__(__self__, *, + iops: Optional[pulumi.Input[int]] = None, + mode: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] iops: The total number of SSD IOPS provisioned for the file system. + :param pulumi.Input[str] mode: Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + """ + if iops is not None: + pulumi.set(__self__, "iops", iops) + if mode is not None: + pulumi.set(__self__, "mode", mode) + + @property + @pulumi.getter + def iops(self) -> Optional[pulumi.Input[int]]: + """ + The total number of SSD IOPS provisioned for the file system. + """ + return pulumi.get(self, "iops") + + @iops.setter + def iops(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "iops", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input[str]]: + """ + Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mode", value) + + @pulumi.input_type class WindowsFileSystemSelfManagedActiveDirectoryArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/fsx/get_windows_file_system.py b/sdk/python/pulumi_aws/fsx/get_windows_file_system.py index 87549cc408f..b977e76efd5 100644 --- a/sdk/python/pulumi_aws/fsx/get_windows_file_system.py +++ b/sdk/python/pulumi_aws/fsx/get_windows_file_system.py @@ -22,7 +22,7 @@ class GetWindowsFileSystemResult: """ A collection of values returned by getWindowsFileSystem. """ - def __init__(__self__, active_directory_id=None, aliases=None, arn=None, audit_log_configurations=None, automatic_backup_retention_days=None, backup_id=None, copy_tags_to_backups=None, daily_automatic_backup_start_time=None, deployment_type=None, dns_name=None, id=None, kms_key_id=None, network_interface_ids=None, owner_id=None, preferred_file_server_ip=None, preferred_subnet_id=None, security_group_ids=None, skip_final_backup=None, storage_capacity=None, storage_type=None, subnet_ids=None, tags=None, throughput_capacity=None, vpc_id=None, weekly_maintenance_start_time=None): + def __init__(__self__, active_directory_id=None, aliases=None, arn=None, audit_log_configurations=None, automatic_backup_retention_days=None, backup_id=None, copy_tags_to_backups=None, daily_automatic_backup_start_time=None, deployment_type=None, disk_iops_configurations=None, dns_name=None, id=None, kms_key_id=None, network_interface_ids=None, owner_id=None, preferred_file_server_ip=None, preferred_subnet_id=None, security_group_ids=None, skip_final_backup=None, storage_capacity=None, storage_type=None, subnet_ids=None, tags=None, throughput_capacity=None, vpc_id=None, weekly_maintenance_start_time=None): if active_directory_id and not isinstance(active_directory_id, str): raise TypeError("Expected argument 'active_directory_id' to be a str") pulumi.set(__self__, "active_directory_id", active_directory_id) @@ -50,6 +50,9 @@ def __init__(__self__, active_directory_id=None, aliases=None, arn=None, audit_l if deployment_type and not isinstance(deployment_type, str): raise TypeError("Expected argument 'deployment_type' to be a str") pulumi.set(__self__, "deployment_type", deployment_type) + if disk_iops_configurations and not isinstance(disk_iops_configurations, list): + raise TypeError("Expected argument 'disk_iops_configurations' to be a list") + pulumi.set(__self__, "disk_iops_configurations", disk_iops_configurations) if dns_name and not isinstance(dns_name, str): raise TypeError("Expected argument 'dns_name' to be a str") pulumi.set(__self__, "dns_name", dns_name) @@ -168,6 +171,14 @@ def deployment_type(self) -> str: """ return pulumi.get(self, "deployment_type") + @property + @pulumi.getter(name="diskIopsConfigurations") + def disk_iops_configurations(self) -> Sequence['outputs.GetWindowsFileSystemDiskIopsConfigurationResult']: + """ + The SSD IOPS configuration for the file system. + """ + return pulumi.get(self, "disk_iops_configurations") + @property @pulumi.getter(name="dnsName") def dns_name(self) -> str: @@ -303,6 +314,7 @@ def __await__(self): copy_tags_to_backups=self.copy_tags_to_backups, daily_automatic_backup_start_time=self.daily_automatic_backup_start_time, deployment_type=self.deployment_type, + disk_iops_configurations=self.disk_iops_configurations, dns_name=self.dns_name, id=self.id, kms_key_id=self.kms_key_id, @@ -357,6 +369,7 @@ def get_windows_file_system(id: Optional[str] = None, copy_tags_to_backups=pulumi.get(__ret__, 'copy_tags_to_backups'), daily_automatic_backup_start_time=pulumi.get(__ret__, 'daily_automatic_backup_start_time'), deployment_type=pulumi.get(__ret__, 'deployment_type'), + disk_iops_configurations=pulumi.get(__ret__, 'disk_iops_configurations'), dns_name=pulumi.get(__ret__, 'dns_name'), id=pulumi.get(__ret__, 'id'), kms_key_id=pulumi.get(__ret__, 'kms_key_id'), diff --git a/sdk/python/pulumi_aws/fsx/outputs.py b/sdk/python/pulumi_aws/fsx/outputs.py index de7653a2afd..85a0c5f64b2 100644 --- a/sdk/python/pulumi_aws/fsx/outputs.py +++ b/sdk/python/pulumi_aws/fsx/outputs.py @@ -43,9 +43,11 @@ 'OpenZfsVolumeOriginSnapshot', 'OpenZfsVolumeUserAndGroupQuota', 'WindowsFileSystemAuditLogConfiguration', + 'WindowsFileSystemDiskIopsConfiguration', 'WindowsFileSystemSelfManagedActiveDirectory', 'GetOpenZfsSnapshotFilterResult', 'GetWindowsFileSystemAuditLogConfigurationResult', + 'GetWindowsFileSystemDiskIopsConfigurationResult', ] @pulumi.output_type @@ -1651,6 +1653,37 @@ def file_share_access_audit_log_level(self) -> Optional[str]: return pulumi.get(self, "file_share_access_audit_log_level") +@pulumi.output_type +class WindowsFileSystemDiskIopsConfiguration(dict): + def __init__(__self__, *, + iops: Optional[int] = None, + mode: Optional[str] = None): + """ + :param int iops: The total number of SSD IOPS provisioned for the file system. + :param str mode: Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + """ + if iops is not None: + pulumi.set(__self__, "iops", iops) + if mode is not None: + pulumi.set(__self__, "mode", mode) + + @property + @pulumi.getter + def iops(self) -> Optional[int]: + """ + The total number of SSD IOPS provisioned for the file system. + """ + return pulumi.get(self, "iops") + + @property + @pulumi.getter + def mode(self) -> Optional[str]: + """ + Specifies whether the number of IOPS for the file system is using the system. Valid values are `AUTOMATIC` and `USER_PROVISIONED`. Default value is `AUTOMATIC`. + """ + return pulumi.get(self, "mode") + + @pulumi.output_type class WindowsFileSystemSelfManagedActiveDirectory(dict): @staticmethod @@ -1800,3 +1833,22 @@ def file_share_access_audit_log_level(self) -> str: return pulumi.get(self, "file_share_access_audit_log_level") +@pulumi.output_type +class GetWindowsFileSystemDiskIopsConfigurationResult(dict): + def __init__(__self__, *, + iops: int, + mode: str): + pulumi.set(__self__, "iops", iops) + pulumi.set(__self__, "mode", mode) + + @property + @pulumi.getter + def iops(self) -> int: + return pulumi.get(self, "iops") + + @property + @pulumi.getter + def mode(self) -> str: + return pulumi.get(self, "mode") + + diff --git a/sdk/python/pulumi_aws/fsx/windows_file_system.py b/sdk/python/pulumi_aws/fsx/windows_file_system.py index b4b618b8f1f..9e4019c34cc 100644 --- a/sdk/python/pulumi_aws/fsx/windows_file_system.py +++ b/sdk/python/pulumi_aws/fsx/windows_file_system.py @@ -26,6 +26,7 @@ def __init__(__self__, *, copy_tags_to_backups: Optional[pulumi.Input[bool]] = None, daily_automatic_backup_start_time: Optional[pulumi.Input[str]] = None, deployment_type: Optional[pulumi.Input[str]] = None, + disk_iops_configuration: Optional[pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs']] = None, kms_key_id: Optional[pulumi.Input[str]] = None, preferred_subnet_id: Optional[pulumi.Input[str]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -43,16 +44,17 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[str] active_directory_id: The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`. :param pulumi.Input[Sequence[pulumi.Input[str]]] aliases: An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) - :param pulumi.Input['WindowsFileSystemAuditLogConfigurationArgs'] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + :param pulumi.Input['WindowsFileSystemAuditLogConfigurationArgs'] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. :param pulumi.Input[int] automatic_backup_retention_days: The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. :param pulumi.Input[str] backup_id: The ID of the source backup to create the filesystem from. :param pulumi.Input[bool] copy_tags_to_backups: A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`. :param pulumi.Input[str] daily_automatic_backup_start_time: The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone. :param pulumi.Input[str] deployment_type: Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. + :param pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs'] disk_iops_configuration: The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. :param pulumi.Input[str] kms_key_id: ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. :param pulumi.Input[str] preferred_subnet_id: Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. - :param pulumi.Input['WindowsFileSystemSelfManagedActiveDirectoryArgs'] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + :param pulumi.Input['WindowsFileSystemSelfManagedActiveDirectoryArgs'] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. :param pulumi.Input[bool] skip_final_backup: When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. :param pulumi.Input[int] storage_capacity: Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup. :param pulumi.Input[str] storage_type: Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`. @@ -77,6 +79,8 @@ def __init__(__self__, *, pulumi.set(__self__, "daily_automatic_backup_start_time", daily_automatic_backup_start_time) if deployment_type is not None: pulumi.set(__self__, "deployment_type", deployment_type) + if disk_iops_configuration is not None: + pulumi.set(__self__, "disk_iops_configuration", disk_iops_configuration) if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) if preferred_subnet_id is not None: @@ -150,7 +154,7 @@ def aliases(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="auditLogConfiguration") def audit_log_configuration(self) -> Optional[pulumi.Input['WindowsFileSystemAuditLogConfigurationArgs']]: """ - The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. """ return pulumi.get(self, "audit_log_configuration") @@ -218,6 +222,18 @@ def deployment_type(self) -> Optional[pulumi.Input[str]]: def deployment_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "deployment_type", value) + @property + @pulumi.getter(name="diskIopsConfiguration") + def disk_iops_configuration(self) -> Optional[pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs']]: + """ + The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + """ + return pulumi.get(self, "disk_iops_configuration") + + @disk_iops_configuration.setter + def disk_iops_configuration(self, value: Optional[pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs']]): + pulumi.set(self, "disk_iops_configuration", value) + @property @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: @@ -258,7 +274,7 @@ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="selfManagedActiveDirectory") def self_managed_active_directory(self) -> Optional[pulumi.Input['WindowsFileSystemSelfManagedActiveDirectoryArgs']]: """ - Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. """ return pulumi.get(self, "self_managed_active_directory") @@ -339,6 +355,7 @@ def __init__(__self__, *, copy_tags_to_backups: Optional[pulumi.Input[bool]] = None, daily_automatic_backup_start_time: Optional[pulumi.Input[str]] = None, deployment_type: Optional[pulumi.Input[str]] = None, + disk_iops_configuration: Optional[pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs']] = None, dns_name: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -362,12 +379,13 @@ def __init__(__self__, *, :param pulumi.Input[str] active_directory_id: The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`. :param pulumi.Input[Sequence[pulumi.Input[str]]] aliases: An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) :param pulumi.Input[str] arn: Amazon Resource Name of the file system. - :param pulumi.Input['WindowsFileSystemAuditLogConfigurationArgs'] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + :param pulumi.Input['WindowsFileSystemAuditLogConfigurationArgs'] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. :param pulumi.Input[int] automatic_backup_retention_days: The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. :param pulumi.Input[str] backup_id: The ID of the source backup to create the filesystem from. :param pulumi.Input[bool] copy_tags_to_backups: A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`. :param pulumi.Input[str] daily_automatic_backup_start_time: The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone. :param pulumi.Input[str] deployment_type: Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. + :param pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs'] disk_iops_configuration: The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. :param pulumi.Input[str] dns_name: DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) :param pulumi.Input[str] kms_key_id: ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: Set of Elastic Network Interface identifiers from which the file system is accessible. @@ -376,7 +394,7 @@ def __init__(__self__, *, :param pulumi.Input[str] preferred_subnet_id: Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`. :param pulumi.Input[str] remote_administration_endpoint: For `MULTI_AZ_1` deployment types, use this endpoint when performing administrative tasks on the file system using Amazon FSx Remote PowerShell. For `SINGLE_AZ_1` deployment types, this is the DNS name of the file system. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. - :param pulumi.Input['WindowsFileSystemSelfManagedActiveDirectoryArgs'] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + :param pulumi.Input['WindowsFileSystemSelfManagedActiveDirectoryArgs'] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. :param pulumi.Input[bool] skip_final_backup: When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. :param pulumi.Input[int] storage_capacity: Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup. :param pulumi.Input[str] storage_type: Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`. @@ -407,6 +425,8 @@ def __init__(__self__, *, pulumi.set(__self__, "daily_automatic_backup_start_time", daily_automatic_backup_start_time) if deployment_type is not None: pulumi.set(__self__, "deployment_type", deployment_type) + if disk_iops_configuration is not None: + pulumi.set(__self__, "disk_iops_configuration", disk_iops_configuration) if dns_name is not None: pulumi.set(__self__, "dns_name", dns_name) if kms_key_id is not None: @@ -484,7 +504,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="auditLogConfiguration") def audit_log_configuration(self) -> Optional[pulumi.Input['WindowsFileSystemAuditLogConfigurationArgs']]: """ - The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. """ return pulumi.get(self, "audit_log_configuration") @@ -552,6 +572,18 @@ def deployment_type(self) -> Optional[pulumi.Input[str]]: def deployment_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "deployment_type", value) + @property + @pulumi.getter(name="diskIopsConfiguration") + def disk_iops_configuration(self) -> Optional[pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs']]: + """ + The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + """ + return pulumi.get(self, "disk_iops_configuration") + + @disk_iops_configuration.setter + def disk_iops_configuration(self, value: Optional[pulumi.Input['WindowsFileSystemDiskIopsConfigurationArgs']]): + pulumi.set(self, "disk_iops_configuration", value) + @property @pulumi.getter(name="dnsName") def dns_name(self) -> Optional[pulumi.Input[str]]: @@ -652,7 +684,7 @@ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="selfManagedActiveDirectory") def self_managed_active_directory(self) -> Optional[pulumi.Input['WindowsFileSystemSelfManagedActiveDirectoryArgs']]: """ - Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. """ return pulumi.get(self, "self_managed_active_directory") @@ -784,6 +816,7 @@ def __init__(__self__, copy_tags_to_backups: Optional[pulumi.Input[bool]] = None, daily_automatic_backup_start_time: Optional[pulumi.Input[str]] = None, deployment_type: Optional[pulumi.Input[str]] = None, + disk_iops_configuration: Optional[pulumi.Input[pulumi.InputType['WindowsFileSystemDiskIopsConfigurationArgs']]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, preferred_subnet_id: Optional[pulumi.Input[str]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -854,16 +887,17 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] active_directory_id: The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`. :param pulumi.Input[Sequence[pulumi.Input[str]]] aliases: An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) - :param pulumi.Input[pulumi.InputType['WindowsFileSystemAuditLogConfigurationArgs']] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + :param pulumi.Input[pulumi.InputType['WindowsFileSystemAuditLogConfigurationArgs']] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. :param pulumi.Input[int] automatic_backup_retention_days: The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. :param pulumi.Input[str] backup_id: The ID of the source backup to create the filesystem from. :param pulumi.Input[bool] copy_tags_to_backups: A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`. :param pulumi.Input[str] daily_automatic_backup_start_time: The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone. :param pulumi.Input[str] deployment_type: Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. + :param pulumi.Input[pulumi.InputType['WindowsFileSystemDiskIopsConfigurationArgs']] disk_iops_configuration: The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. :param pulumi.Input[str] kms_key_id: ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. :param pulumi.Input[str] preferred_subnet_id: Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. - :param pulumi.Input[pulumi.InputType['WindowsFileSystemSelfManagedActiveDirectoryArgs']] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + :param pulumi.Input[pulumi.InputType['WindowsFileSystemSelfManagedActiveDirectoryArgs']] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. :param pulumi.Input[bool] skip_final_backup: When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. :param pulumi.Input[int] storage_capacity: Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup. :param pulumi.Input[str] storage_type: Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`. @@ -957,6 +991,7 @@ def _internal_init(__self__, copy_tags_to_backups: Optional[pulumi.Input[bool]] = None, daily_automatic_backup_start_time: Optional[pulumi.Input[str]] = None, deployment_type: Optional[pulumi.Input[str]] = None, + disk_iops_configuration: Optional[pulumi.Input[pulumi.InputType['WindowsFileSystemDiskIopsConfigurationArgs']]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, preferred_subnet_id: Optional[pulumi.Input[str]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -985,6 +1020,7 @@ def _internal_init(__self__, __props__.__dict__["copy_tags_to_backups"] = copy_tags_to_backups __props__.__dict__["daily_automatic_backup_start_time"] = daily_automatic_backup_start_time __props__.__dict__["deployment_type"] = deployment_type + __props__.__dict__["disk_iops_configuration"] = disk_iops_configuration __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["preferred_subnet_id"] = preferred_subnet_id __props__.__dict__["security_group_ids"] = security_group_ids @@ -1027,6 +1063,7 @@ def get(resource_name: str, copy_tags_to_backups: Optional[pulumi.Input[bool]] = None, daily_automatic_backup_start_time: Optional[pulumi.Input[str]] = None, deployment_type: Optional[pulumi.Input[str]] = None, + disk_iops_configuration: Optional[pulumi.Input[pulumi.InputType['WindowsFileSystemDiskIopsConfigurationArgs']]] = None, dns_name: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1055,12 +1092,13 @@ def get(resource_name: str, :param pulumi.Input[str] active_directory_id: The ID for an existing Microsoft Active Directory instance that the file system should join when it's created. Cannot be specified with `self_managed_active_directory`. :param pulumi.Input[Sequence[pulumi.Input[str]]] aliases: An array DNS alias names that you want to associate with the Amazon FSx file system. For more information, see [Working with DNS Aliases](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) :param pulumi.Input[str] arn: Amazon Resource Name of the file system. - :param pulumi.Input[pulumi.InputType['WindowsFileSystemAuditLogConfigurationArgs']] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + :param pulumi.Input[pulumi.InputType['WindowsFileSystemAuditLogConfigurationArgs']] audit_log_configuration: The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. :param pulumi.Input[int] automatic_backup_retention_days: The number of days to retain automatic backups. Minimum of `0` and maximum of `90`. Defaults to `7`. Set to `0` to disable. :param pulumi.Input[str] backup_id: The ID of the source backup to create the filesystem from. :param pulumi.Input[bool] copy_tags_to_backups: A boolean flag indicating whether tags on the file system should be copied to backups. Defaults to `false`. :param pulumi.Input[str] daily_automatic_backup_start_time: The preferred time (in `HH:MM` format) to take daily automatic backups, in the UTC time zone. :param pulumi.Input[str] deployment_type: Specifies the file system deployment type, valid values are `MULTI_AZ_1`, `SINGLE_AZ_1` and `SINGLE_AZ_2`. Default value is `SINGLE_AZ_1`. + :param pulumi.Input[pulumi.InputType['WindowsFileSystemDiskIopsConfigurationArgs']] disk_iops_configuration: The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. :param pulumi.Input[str] dns_name: DNS name for the file system, e.g., `fs-12345678.corp.example.com` (domain name matching the Active Directory domain name) :param pulumi.Input[str] kms_key_id: ARN for the KMS Key to encrypt the file system at rest. Defaults to an AWS managed KMS Key. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: Set of Elastic Network Interface identifiers from which the file system is accessible. @@ -1069,7 +1107,7 @@ def get(resource_name: str, :param pulumi.Input[str] preferred_subnet_id: Specifies the subnet in which you want the preferred file server to be located. Required for when deployment type is `MULTI_AZ_1`. :param pulumi.Input[str] remote_administration_endpoint: For `MULTI_AZ_1` deployment types, use this endpoint when performing administrative tasks on the file system using Amazon FSx Remote PowerShell. For `SINGLE_AZ_1` deployment types, this is the DNS name of the file system. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. - :param pulumi.Input[pulumi.InputType['WindowsFileSystemSelfManagedActiveDirectoryArgs']] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + :param pulumi.Input[pulumi.InputType['WindowsFileSystemSelfManagedActiveDirectoryArgs']] self_managed_active_directory: Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. :param pulumi.Input[bool] skip_final_backup: When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `false`. :param pulumi.Input[int] storage_capacity: Storage capacity (GiB) of the file system. Minimum of 32 and maximum of 65536. If the storage type is set to `HDD` the minimum value is 2000. Required when not creating filesystem for a backup. :param pulumi.Input[str] storage_type: Specifies the storage type, Valid values are `SSD` and `HDD`. `HDD` is supported on `SINGLE_AZ_2` and `MULTI_AZ_1` Windows file system deployment types. Default value is `SSD`. @@ -1095,6 +1133,7 @@ def get(resource_name: str, __props__.__dict__["copy_tags_to_backups"] = copy_tags_to_backups __props__.__dict__["daily_automatic_backup_start_time"] = daily_automatic_backup_start_time __props__.__dict__["deployment_type"] = deployment_type + __props__.__dict__["disk_iops_configuration"] = disk_iops_configuration __props__.__dict__["dns_name"] = dns_name __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["network_interface_ids"] = network_interface_ids @@ -1143,7 +1182,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="auditLogConfiguration") def audit_log_configuration(self) -> pulumi.Output['outputs.WindowsFileSystemAuditLogConfiguration']: """ - The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See below. + The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. See Audit Log Configuration below. """ return pulumi.get(self, "audit_log_configuration") @@ -1187,6 +1226,14 @@ def deployment_type(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "deployment_type") + @property + @pulumi.getter(name="diskIopsConfiguration") + def disk_iops_configuration(self) -> pulumi.Output['outputs.WindowsFileSystemDiskIopsConfiguration']: + """ + The SSD IOPS configuration for the Amazon FSx for Windows File Server file system. See Disk Iops Configuration below. + """ + return pulumi.get(self, "disk_iops_configuration") + @property @pulumi.getter(name="dnsName") def dns_name(self) -> pulumi.Output[str]: @@ -1255,7 +1302,7 @@ def security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter(name="selfManagedActiveDirectory") def self_managed_active_directory(self) -> pulumi.Output[Optional['outputs.WindowsFileSystemSelfManagedActiveDirectory']]: """ - Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. Detailed below. + Configuration block that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory. Cannot be specified with `active_directory_id`. See Self-Managed Active Directory below. """ return pulumi.get(self, "self_managed_active_directory") diff --git a/sdk/python/pulumi_aws/gamelift/game_server_group.py b/sdk/python/pulumi_aws/gamelift/game_server_group.py index 8ab2b1013e0..6711311039a 100644 --- a/sdk/python/pulumi_aws/gamelift/game_server_group.py +++ b/sdk/python/pulumi_aws/gamelift/game_server_group.py @@ -548,11 +548,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import GameLift Game Server Group using the `name`. For example: + In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import { - ```sh - $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example - ``` + to = aws_gamelift_game_server_group.example + + id = "example" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -677,11 +677,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import GameLift Game Server Group using the `name`. For example: + In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For exampleterraform import { - ```sh - $ pulumi import aws:gamelift/gameServerGroup:GameServerGroup example example - ``` + to = aws_gamelift_game_server_group.example + + id = "example" } Using `TODO import`, import GameLift Game Server Group using the `name`. For exampleconsole % TODO import aws_gamelift_game_server_group.example example :param str resource_name: The name of the resource. :param GameServerGroupArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/get_default_tags.py b/sdk/python/pulumi_aws/get_default_tags.py index 07e3856ce65..4ffd05841c2 100644 --- a/sdk/python/pulumi_aws/get_default_tags.py +++ b/sdk/python/pulumi_aws/get_default_tags.py @@ -58,7 +58,7 @@ def get_default_tags(id: Optional[str] = None, """ Use this data source to get the default tags configured on the provider. - With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. ## Example Usage ### Basic Usage @@ -86,7 +86,7 @@ def get_default_tags_output(id: Optional[pulumi.Input[Optional[str]]] = None, """ Use this data source to get the default tags configured on the provider. - With this data source, you can apply default tags to resources not _directly_ managed by a resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. + With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance. ## Example Usage ### Basic Usage diff --git a/sdk/python/pulumi_aws/glue/_inputs.py b/sdk/python/pulumi_aws/glue/_inputs.py index af209777b9a..73d3c477e95 100644 --- a/sdk/python/pulumi_aws/glue/_inputs.py +++ b/sdk/python/pulumi_aws/glue/_inputs.py @@ -13,6 +13,8 @@ 'CatalogDatabaseCreateTableDefaultPermissionArgs', 'CatalogDatabaseCreateTableDefaultPermissionPrincipalArgs', 'CatalogDatabaseTargetDatabaseArgs', + 'CatalogTableOpenTableFormatInputArgs', + 'CatalogTableOpenTableFormatInputIcebergInputArgs', 'CatalogTablePartitionIndexArgs', 'CatalogTablePartitionKeyArgs', 'CatalogTableStorageDescriptorArgs', @@ -187,6 +189,66 @@ def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) +@pulumi.input_type +class CatalogTableOpenTableFormatInputArgs: + def __init__(__self__, *, + iceberg_input: pulumi.Input['CatalogTableOpenTableFormatInputIcebergInputArgs']): + """ + :param pulumi.Input['CatalogTableOpenTableFormatInputIcebergInputArgs'] iceberg_input: Configuration block for iceberg table config. See `iceberg_input` below. + """ + pulumi.set(__self__, "iceberg_input", iceberg_input) + + @property + @pulumi.getter(name="icebergInput") + def iceberg_input(self) -> pulumi.Input['CatalogTableOpenTableFormatInputIcebergInputArgs']: + """ + Configuration block for iceberg table config. See `iceberg_input` below. + """ + return pulumi.get(self, "iceberg_input") + + @iceberg_input.setter + def iceberg_input(self, value: pulumi.Input['CatalogTableOpenTableFormatInputIcebergInputArgs']): + pulumi.set(self, "iceberg_input", value) + + +@pulumi.input_type +class CatalogTableOpenTableFormatInputIcebergInputArgs: + def __init__(__self__, *, + metadata_operation: pulumi.Input[str], + version: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] metadata_operation: A required metadata operation. Can only be set to CREATE. + :param pulumi.Input[str] version: The table version for the Iceberg table. Defaults to 2. + """ + pulumi.set(__self__, "metadata_operation", metadata_operation) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="metadataOperation") + def metadata_operation(self) -> pulumi.Input[str]: + """ + A required metadata operation. Can only be set to CREATE. + """ + return pulumi.get(self, "metadata_operation") + + @metadata_operation.setter + def metadata_operation(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_operation", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The table version for the Iceberg table. Defaults to 2. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + @pulumi.input_type class CatalogTablePartitionIndexArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/glue/catalog_table.py b/sdk/python/pulumi_aws/glue/catalog_table.py index 42cf9f58ad2..af6e66c67f6 100644 --- a/sdk/python/pulumi_aws/glue/catalog_table.py +++ b/sdk/python/pulumi_aws/glue/catalog_table.py @@ -20,6 +20,7 @@ def __init__(__self__, *, catalog_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + open_table_format_input: Optional[pulumi.Input['CatalogTableOpenTableFormatInputArgs']] = None, owner: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, partition_indices: Optional[pulumi.Input[Sequence[pulumi.Input['CatalogTablePartitionIndexArgs']]]] = None, @@ -38,6 +39,7 @@ def __init__(__self__, *, :param pulumi.Input[str] catalog_id: ID of the Glue Catalog and database to create the table in. If omitted, this defaults to the AWS Account ID plus the database name. :param pulumi.Input[str] description: Description of the table. :param pulumi.Input[str] name: Name of the table. For Hive compatibility, this must be entirely lowercase. + :param pulumi.Input['CatalogTableOpenTableFormatInputArgs'] open_table_format_input: Configuration block for open table formats. See `open_table_format_input` below. :param pulumi.Input[str] owner: Owner of the table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Properties associated with this table, as a list of key-value pairs. :param pulumi.Input[Sequence[pulumi.Input['CatalogTablePartitionIndexArgs']]] partition_indices: Configuration block for a maximum of 3 partition indexes. See `partition_index` below. @@ -56,6 +58,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if open_table_format_input is not None: + pulumi.set(__self__, "open_table_format_input", open_table_format_input) if owner is not None: pulumi.set(__self__, "owner", owner) if parameters is not None: @@ -127,6 +131,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="openTableFormatInput") + def open_table_format_input(self) -> Optional[pulumi.Input['CatalogTableOpenTableFormatInputArgs']]: + """ + Configuration block for open table formats. See `open_table_format_input` below. + """ + return pulumi.get(self, "open_table_format_input") + + @open_table_format_input.setter + def open_table_format_input(self, value: Optional[pulumi.Input['CatalogTableOpenTableFormatInputArgs']]): + pulumi.set(self, "open_table_format_input", value) + @property @pulumi.getter def owner(self) -> Optional[pulumi.Input[str]]: @@ -256,6 +272,7 @@ def __init__(__self__, *, database_name: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + open_table_format_input: Optional[pulumi.Input['CatalogTableOpenTableFormatInputArgs']] = None, owner: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, partition_indices: Optional[pulumi.Input[Sequence[pulumi.Input['CatalogTablePartitionIndexArgs']]]] = None, @@ -275,6 +292,7 @@ def __init__(__self__, *, The follow arguments are optional: :param pulumi.Input[str] description: Description of the table. :param pulumi.Input[str] name: Name of the table. For Hive compatibility, this must be entirely lowercase. + :param pulumi.Input['CatalogTableOpenTableFormatInputArgs'] open_table_format_input: Configuration block for open table formats. See `open_table_format_input` below. :param pulumi.Input[str] owner: Owner of the table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Properties associated with this table, as a list of key-value pairs. :param pulumi.Input[Sequence[pulumi.Input['CatalogTablePartitionIndexArgs']]] partition_indices: Configuration block for a maximum of 3 partition indexes. See `partition_index` below. @@ -296,6 +314,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if open_table_format_input is not None: + pulumi.set(__self__, "open_table_format_input", open_table_format_input) if owner is not None: pulumi.set(__self__, "owner", owner) if parameters is not None: @@ -379,6 +399,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="openTableFormatInput") + def open_table_format_input(self) -> Optional[pulumi.Input['CatalogTableOpenTableFormatInputArgs']]: + """ + Configuration block for open table formats. See `open_table_format_input` below. + """ + return pulumi.get(self, "open_table_format_input") + + @open_table_format_input.setter + def open_table_format_input(self, value: Optional[pulumi.Input['CatalogTableOpenTableFormatInputArgs']]): + pulumi.set(self, "open_table_format_input", value) + @property @pulumi.getter def owner(self) -> Optional[pulumi.Input[str]]: @@ -509,6 +541,7 @@ def __init__(__self__, database_name: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + open_table_format_input: Optional[pulumi.Input[pulumi.InputType['CatalogTableOpenTableFormatInputArgs']]] = None, owner: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, partition_indices: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CatalogTablePartitionIndexArgs']]]]] = None, @@ -603,6 +636,7 @@ def __init__(__self__, The follow arguments are optional: :param pulumi.Input[str] description: Description of the table. :param pulumi.Input[str] name: Name of the table. For Hive compatibility, this must be entirely lowercase. + :param pulumi.Input[pulumi.InputType['CatalogTableOpenTableFormatInputArgs']] open_table_format_input: Configuration block for open table formats. See `open_table_format_input` below. :param pulumi.Input[str] owner: Owner of the table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Properties associated with this table, as a list of key-value pairs. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CatalogTablePartitionIndexArgs']]]] partition_indices: Configuration block for a maximum of 3 partition indexes. See `partition_index` below. @@ -714,6 +748,7 @@ def _internal_init(__self__, database_name: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + open_table_format_input: Optional[pulumi.Input[pulumi.InputType['CatalogTableOpenTableFormatInputArgs']]] = None, owner: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, partition_indices: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CatalogTablePartitionIndexArgs']]]]] = None, @@ -739,6 +774,7 @@ def _internal_init(__self__, __props__.__dict__["database_name"] = database_name __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["open_table_format_input"] = open_table_format_input __props__.__dict__["owner"] = owner __props__.__dict__["parameters"] = parameters __props__.__dict__["partition_indices"] = partition_indices @@ -765,6 +801,7 @@ def get(resource_name: str, database_name: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + open_table_format_input: Optional[pulumi.Input[pulumi.InputType['CatalogTableOpenTableFormatInputArgs']]] = None, owner: Optional[pulumi.Input[str]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, partition_indices: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CatalogTablePartitionIndexArgs']]]]] = None, @@ -789,6 +826,7 @@ def get(resource_name: str, The follow arguments are optional: :param pulumi.Input[str] description: Description of the table. :param pulumi.Input[str] name: Name of the table. For Hive compatibility, this must be entirely lowercase. + :param pulumi.Input[pulumi.InputType['CatalogTableOpenTableFormatInputArgs']] open_table_format_input: Configuration block for open table formats. See `open_table_format_input` below. :param pulumi.Input[str] owner: Owner of the table. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Properties associated with this table, as a list of key-value pairs. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CatalogTablePartitionIndexArgs']]]] partition_indices: Configuration block for a maximum of 3 partition indexes. See `partition_index` below. @@ -809,6 +847,7 @@ def get(resource_name: str, __props__.__dict__["database_name"] = database_name __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["open_table_format_input"] = open_table_format_input __props__.__dict__["owner"] = owner __props__.__dict__["parameters"] = parameters __props__.__dict__["partition_indices"] = partition_indices @@ -863,6 +902,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="openTableFormatInput") + def open_table_format_input(self) -> pulumi.Output[Optional['outputs.CatalogTableOpenTableFormatInput']]: + """ + Configuration block for open table formats. See `open_table_format_input` below. + """ + return pulumi.get(self, "open_table_format_input") + @property @pulumi.getter def owner(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/glue/dev_endpoint.py b/sdk/python/pulumi_aws/glue/dev_endpoint.py index 3dcbbaeaacd..6e4444884d2 100644 --- a/sdk/python/pulumi_aws/glue/dev_endpoint.py +++ b/sdk/python/pulumi_aws/glue/dev_endpoint.py @@ -44,7 +44,7 @@ def __init__(__self__, *, :param pulumi.Input[str] security_configuration: The name of the Security Configuration structure to be used with this endpoint. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group IDs for the security groups to be used by this endpoint. :param pulumi.Input[str] subnet_id: The subnet ID for the new endpoint to use. - :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: 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[str] worker_type: The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X. """ pulumi.set(__self__, "role_arn", role_arn) @@ -237,7 +237,7 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): @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. + 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") @@ -307,7 +307,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group IDs for the security groups to be used by this endpoint. :param pulumi.Input[str] status: The current status of this endpoint. :param pulumi.Input[str] subnet_id: The subnet ID for the new endpoint to use. - :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: 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. :param pulumi.Input[str] vpc_id: he ID of the VPC used by this endpoint. :param pulumi.Input[str] worker_type: The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X. @@ -597,7 +597,7 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): @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. + 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") @@ -714,11 +714,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example: + In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import { - ```sh - $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo - ``` + to = aws_glue_dev_endpoint.example + + id = "foo" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -735,7 +735,7 @@ def __init__(__self__, :param pulumi.Input[str] security_configuration: The name of the Security Configuration structure to be used with this endpoint. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group IDs for the security groups to be used by this endpoint. :param pulumi.Input[str] subnet_id: The subnet ID for the new endpoint to use. - :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: 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[str] worker_type: The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X. """ ... @@ -771,11 +771,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import a Glue Development Endpoint using the `name`. For example: + In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For exampleterraform import { - ```sh - $ pulumi import aws:glue/devEndpoint:DevEndpoint example foo - ``` + to = aws_glue_dev_endpoint.example + + id = "foo" } Using `TODO import`, import a Glue Development Endpoint using the `name`. For exampleconsole % TODO import aws_glue_dev_endpoint.example foo :param str resource_name: The name of the resource. :param DevEndpointArgs args: The arguments to use to populate this resource's properties. @@ -904,7 +904,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group IDs for the security groups to be used by this endpoint. :param pulumi.Input[str] status: The current status of this endpoint. :param pulumi.Input[str] subnet_id: The subnet ID for the new endpoint to use. - :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: 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. :param pulumi.Input[str] vpc_id: he ID of the VPC used by this endpoint. :param pulumi.Input[str] worker_type: The type of predefined worker that is allocated to this endpoint. Accepts a value of Standard, G.1X, or G.2X. @@ -1098,7 +1098,7 @@ def subnet_id(self) -> pulumi.Output[Optional[str]]: @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. + 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") diff --git a/sdk/python/pulumi_aws/glue/outputs.py b/sdk/python/pulumi_aws/glue/outputs.py index 78b176f5b27..e25b356ddb2 100644 --- a/sdk/python/pulumi_aws/glue/outputs.py +++ b/sdk/python/pulumi_aws/glue/outputs.py @@ -14,6 +14,8 @@ 'CatalogDatabaseCreateTableDefaultPermission', 'CatalogDatabaseCreateTableDefaultPermissionPrincipal', 'CatalogDatabaseTargetDatabase', + 'CatalogTableOpenTableFormatInput', + 'CatalogTableOpenTableFormatInputIcebergInput', 'CatalogTablePartitionIndex', 'CatalogTablePartitionKey', 'CatalogTableStorageDescriptor', @@ -214,6 +216,88 @@ def region(self) -> Optional[str]: return pulumi.get(self, "region") +@pulumi.output_type +class CatalogTableOpenTableFormatInput(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "icebergInput": + suggest = "iceberg_input" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogTableOpenTableFormatInput. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogTableOpenTableFormatInput.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogTableOpenTableFormatInput.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iceberg_input: 'outputs.CatalogTableOpenTableFormatInputIcebergInput'): + """ + :param 'CatalogTableOpenTableFormatInputIcebergInputArgs' iceberg_input: Configuration block for iceberg table config. See `iceberg_input` below. + """ + pulumi.set(__self__, "iceberg_input", iceberg_input) + + @property + @pulumi.getter(name="icebergInput") + def iceberg_input(self) -> 'outputs.CatalogTableOpenTableFormatInputIcebergInput': + """ + Configuration block for iceberg table config. See `iceberg_input` below. + """ + return pulumi.get(self, "iceberg_input") + + +@pulumi.output_type +class CatalogTableOpenTableFormatInputIcebergInput(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metadataOperation": + suggest = "metadata_operation" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogTableOpenTableFormatInputIcebergInput. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogTableOpenTableFormatInputIcebergInput.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogTableOpenTableFormatInputIcebergInput.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metadata_operation: str, + version: Optional[str] = None): + """ + :param str metadata_operation: A required metadata operation. Can only be set to CREATE. + :param str version: The table version for the Iceberg table. Defaults to 2. + """ + pulumi.set(__self__, "metadata_operation", metadata_operation) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="metadataOperation") + def metadata_operation(self) -> str: + """ + A required metadata operation. Can only be set to CREATE. + """ + return pulumi.get(self, "metadata_operation") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + The table version for the Iceberg table. Defaults to 2. + """ + return pulumi.get(self, "version") + + @pulumi.output_type class CatalogTablePartitionIndex(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/iam/get_session_context.py b/sdk/python/pulumi_aws/iam/get_session_context.py index f0f2d50c0a8..685c9f514f5 100644 --- a/sdk/python/pulumi_aws/iam/get_session_context.py +++ b/sdk/python/pulumi_aws/iam/get_session_context.py @@ -117,7 +117,7 @@ def get_session_context(arn: Optional[str] = None, example = aws.iam.get_session_context(arn="arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") ``` - ### Find the Provider's Source Role + ### Find the TODO Runner's Source Role Combined with `get_caller_identity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. @@ -132,7 +132,7 @@ def get_session_context(arn: Optional[str] = None, :param str arn: ARN for an assumed role. - > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. """ __args__ = dict() __args__['arn'] = arn @@ -165,7 +165,7 @@ def get_session_context_output(arn: Optional[pulumi.Input[str]] = None, example = aws.iam.get_session_context(arn="arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") ``` - ### Find the Provider's Source Role + ### Find the TODO Runner's Source Role Combined with `get_caller_identity`, you can get the current user's source IAM role ARN (`issuer_arn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use. @@ -180,6 +180,6 @@ def get_session_context_output(arn: Optional[pulumi.Input[str]] = None, :param str arn: ARN for an assumed role. - > If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist. + > If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist. """ ... diff --git a/sdk/python/pulumi_aws/iam/group_policy_attachment.py b/sdk/python/pulumi_aws/iam/group_policy_attachment.py index 29f996a67c1..7c598e2fd60 100644 --- a/sdk/python/pulumi_aws/iam/group_policy_attachment.py +++ b/sdk/python/pulumi_aws/iam/group_policy_attachment.py @@ -119,11 +119,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example: + In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import { - ```sh - $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - ``` + to = aws_iam_group_policy_attachment.test-attach + + id = "test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -158,11 +158,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example: + In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleterraform import { - ```sh - $ pulumi import aws:iam/groupPolicyAttachment:GroupPolicyAttachment test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - ``` + to = aws_iam_group_policy_attachment.test-attach + + id = "test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy :param str resource_name: The name of the resource. :param GroupPolicyAttachmentArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/iam/role_policy_attachment.py b/sdk/python/pulumi_aws/iam/role_policy_attachment.py index 471b13dcbd7..cccab74cde6 100644 --- a/sdk/python/pulumi_aws/iam/role_policy_attachment.py +++ b/sdk/python/pulumi_aws/iam/role_policy_attachment.py @@ -102,7 +102,7 @@ def __init__(__self__, > **NOTE:** The usage of this resource conflicts with the `iam.PolicyAttachment` resource and will permanently show a difference if both are defined. - > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference. ## Example Usage @@ -134,11 +134,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: + In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import { - ```sh - $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - ``` + to = aws_iam_role_policy_attachment.test-attach + + id = "test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -156,7 +156,7 @@ def __init__(__self__, > **NOTE:** The usage of this resource conflicts with the `iam.PolicyAttachment` resource and will permanently show a difference if both are defined. - > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and the provider will show a permanent difference. + > **NOTE:** For a given role, this resource is incompatible with using the `iam.Role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference. ## Example Usage @@ -188,11 +188,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: + In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleterraform import { - ```sh - $ pulumi import aws:iam/rolePolicyAttachment:RolePolicyAttachment test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - ``` + to = aws_iam_role_policy_attachment.test-attach + + id = "test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy :param str resource_name: The name of the resource. :param RolePolicyAttachmentArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/iam/user_policy_attachment.py b/sdk/python/pulumi_aws/iam/user_policy_attachment.py index b65d7e6c376..b4df9c42ae9 100644 --- a/sdk/python/pulumi_aws/iam/user_policy_attachment.py +++ b/sdk/python/pulumi_aws/iam/user_policy_attachment.py @@ -119,11 +119,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example: + In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import { - ```sh - $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - ``` + to = aws_iam_user_policy_attachment.test-attach + + id = "test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -158,11 +158,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example: + In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleterraform import { - ```sh - $ pulumi import aws:iam/userPolicyAttachment:UserPolicyAttachment test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy - ``` + to = aws_iam_user_policy_attachment.test-attach + + id = "test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" } Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For exampleconsole % TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy :param str resource_name: The name of the resource. :param UserPolicyAttachmentArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/identitystore/_inputs.py b/sdk/python/pulumi_aws/identitystore/_inputs.py index 5311ee65470..04cc48d52b4 100644 --- a/sdk/python/pulumi_aws/identitystore/_inputs.py +++ b/sdk/python/pulumi_aws/identitystore/_inputs.py @@ -19,9 +19,11 @@ 'GetGroupAlternateIdentifierArgs', 'GetGroupAlternateIdentifierExternalIdArgs', 'GetGroupAlternateIdentifierUniqueAttributeArgs', + 'GetGroupFilterArgs', 'GetUserAlternateIdentifierArgs', 'GetUserAlternateIdentifierExternalIdArgs', 'GetUserAlternateIdentifierUniqueAttributeArgs', + 'GetUserFilterArgs', ] @pulumi.input_type @@ -569,6 +571,43 @@ def attribute_value(self, value: str): pulumi.set(self, "attribute_value", value) +@pulumi.input_type +class GetGroupFilterArgs: + def __init__(__self__, *, + attribute_path: str, + attribute_value: str): + """ + :param str attribute_path: Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + :param str attribute_value: Value for an attribute. + """ + pulumi.set(__self__, "attribute_path", attribute_path) + pulumi.set(__self__, "attribute_value", attribute_value) + + @property + @pulumi.getter(name="attributePath") + def attribute_path(self) -> str: + """ + Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + """ + return pulumi.get(self, "attribute_path") + + @attribute_path.setter + def attribute_path(self, value: str): + pulumi.set(self, "attribute_path", value) + + @property + @pulumi.getter(name="attributeValue") + def attribute_value(self) -> str: + """ + Value for an attribute. + """ + return pulumi.get(self, "attribute_value") + + @attribute_value.setter + def attribute_value(self, value: str): + pulumi.set(self, "attribute_value", value) + + @pulumi.input_type class GetUserAlternateIdentifierArgs: def __init__(__self__, *, @@ -686,3 +725,40 @@ def attribute_value(self, value: str): pulumi.set(self, "attribute_value", value) +@pulumi.input_type +class GetUserFilterArgs: + def __init__(__self__, *, + attribute_path: str, + attribute_value: str): + """ + :param str attribute_path: Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + :param str attribute_value: Value for an attribute. + """ + pulumi.set(__self__, "attribute_path", attribute_path) + pulumi.set(__self__, "attribute_value", attribute_value) + + @property + @pulumi.getter(name="attributePath") + def attribute_path(self) -> str: + """ + Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + """ + return pulumi.get(self, "attribute_path") + + @attribute_path.setter + def attribute_path(self, value: str): + pulumi.set(self, "attribute_path", value) + + @property + @pulumi.getter(name="attributeValue") + def attribute_value(self) -> str: + """ + Value for an attribute. + """ + return pulumi.get(self, "attribute_value") + + @attribute_value.setter + def attribute_value(self, value: str): + pulumi.set(self, "attribute_value", value) + + diff --git a/sdk/python/pulumi_aws/identitystore/get_group.py b/sdk/python/pulumi_aws/identitystore/get_group.py index 734fa4c92d6..b6774369cc7 100644 --- a/sdk/python/pulumi_aws/identitystore/get_group.py +++ b/sdk/python/pulumi_aws/identitystore/get_group.py @@ -23,7 +23,7 @@ class GetGroupResult: """ A collection of values returned by getGroup. """ - def __init__(__self__, alternate_identifier=None, description=None, display_name=None, external_ids=None, group_id=None, id=None, identity_store_id=None): + def __init__(__self__, alternate_identifier=None, description=None, display_name=None, external_ids=None, filter=None, group_id=None, id=None, identity_store_id=None): if alternate_identifier and not isinstance(alternate_identifier, dict): raise TypeError("Expected argument 'alternate_identifier' to be a dict") pulumi.set(__self__, "alternate_identifier", alternate_identifier) @@ -36,6 +36,9 @@ def __init__(__self__, alternate_identifier=None, description=None, display_name if external_ids and not isinstance(external_ids, list): raise TypeError("Expected argument 'external_ids' to be a list") pulumi.set(__self__, "external_ids", external_ids) + if filter and not isinstance(filter, dict): + raise TypeError("Expected argument 'filter' to be a dict") + pulumi.set(__self__, "filter", filter) if group_id and not isinstance(group_id, str): raise TypeError("Expected argument 'group_id' to be a str") pulumi.set(__self__, "group_id", group_id) @@ -75,6 +78,14 @@ def external_ids(self) -> Sequence['outputs.GetGroupExternalIdResult']: """ return pulumi.get(self, "external_ids") + @property + @pulumi.getter + def filter(self) -> Optional['outputs.GetGroupFilterResult']: + warnings.warn("""Use the alternate_identifier attribute instead.""", DeprecationWarning) + pulumi.log.warn("""filter is deprecated: Use the alternate_identifier attribute instead.""") + + return pulumi.get(self, "filter") + @property @pulumi.getter(name="groupId") def group_id(self) -> str: @@ -104,12 +115,14 @@ def __await__(self): description=self.description, display_name=self.display_name, external_ids=self.external_ids, + filter=self.filter, group_id=self.group_id, id=self.id, identity_store_id=self.identity_store_id) def get_group(alternate_identifier: Optional[pulumi.InputType['GetGroupAlternateIdentifierArgs']] = None, + filter: Optional[pulumi.InputType['GetGroupFilterArgs']] = None, group_id: Optional[str] = None, identity_store_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGroupResult: @@ -117,16 +130,18 @@ def get_group(alternate_identifier: Optional[pulumi.InputType['GetGroupAlternate Use this data source to get an Identity Store Group. - :param pulumi.InputType['GetGroupAlternateIdentifierArgs'] alternate_identifier: A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + :param pulumi.InputType['GetGroupAlternateIdentifierArgs'] alternate_identifier: A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. + :param pulumi.InputType['GetGroupFilterArgs'] filter: Configuration block for filtering by a unique attribute of the group. Detailed below. :param str group_id: The identifier for a group in the Identity Store. - > Exactly one of the above arguments must be provided. + > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. :param str identity_store_id: Identity Store ID associated with the Single Sign-On Instance. The following arguments are optional: """ __args__ = dict() __args__['alternateIdentifier'] = alternate_identifier + __args__['filter'] = filter __args__['groupId'] = group_id __args__['identityStoreId'] = identity_store_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -137,6 +152,7 @@ def get_group(alternate_identifier: Optional[pulumi.InputType['GetGroupAlternate description=pulumi.get(__ret__, 'description'), display_name=pulumi.get(__ret__, 'display_name'), external_ids=pulumi.get(__ret__, 'external_ids'), + filter=pulumi.get(__ret__, 'filter'), group_id=pulumi.get(__ret__, 'group_id'), id=pulumi.get(__ret__, 'id'), identity_store_id=pulumi.get(__ret__, 'identity_store_id')) @@ -144,6 +160,7 @@ def get_group(alternate_identifier: Optional[pulumi.InputType['GetGroupAlternate @_utilities.lift_output_func(get_group) def get_group_output(alternate_identifier: Optional[pulumi.Input[Optional[pulumi.InputType['GetGroupAlternateIdentifierArgs']]]] = None, + filter: Optional[pulumi.Input[Optional[pulumi.InputType['GetGroupFilterArgs']]]] = None, group_id: Optional[pulumi.Input[Optional[str]]] = None, identity_store_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupResult]: @@ -151,10 +168,11 @@ def get_group_output(alternate_identifier: Optional[pulumi.Input[Optional[pulumi Use this data source to get an Identity Store Group. - :param pulumi.InputType['GetGroupAlternateIdentifierArgs'] alternate_identifier: A unique identifier for the group that is not the primary identifier. Conflicts with `group_id`. Detailed below. + :param pulumi.InputType['GetGroupAlternateIdentifierArgs'] alternate_identifier: A unique identifier for the group that is not the primary identifier. Conflicts with `group_id` and `filter`. Detailed below. + :param pulumi.InputType['GetGroupFilterArgs'] filter: Configuration block for filtering by a unique attribute of the group. Detailed below. :param str group_id: The identifier for a group in the Identity Store. - > Exactly one of the above arguments must be provided. + > Exactly one of the above arguments must be provided. Passing both `filter` and `group_id` is allowed for backwards compatibility. :param str identity_store_id: Identity Store ID associated with the Single Sign-On Instance. The following arguments are optional: diff --git a/sdk/python/pulumi_aws/identitystore/get_user.py b/sdk/python/pulumi_aws/identitystore/get_user.py index 4a5b86044df..3aa24926d04 100644 --- a/sdk/python/pulumi_aws/identitystore/get_user.py +++ b/sdk/python/pulumi_aws/identitystore/get_user.py @@ -23,7 +23,7 @@ class GetUserResult: """ A collection of values returned by getUser. """ - def __init__(__self__, addresses=None, alternate_identifier=None, display_name=None, emails=None, external_ids=None, id=None, identity_store_id=None, locale=None, names=None, nickname=None, phone_numbers=None, preferred_language=None, profile_url=None, timezone=None, title=None, user_id=None, user_name=None, user_type=None): + def __init__(__self__, addresses=None, alternate_identifier=None, display_name=None, emails=None, external_ids=None, filter=None, id=None, identity_store_id=None, locale=None, names=None, nickname=None, phone_numbers=None, preferred_language=None, profile_url=None, timezone=None, title=None, user_id=None, user_name=None, user_type=None): if addresses and not isinstance(addresses, list): raise TypeError("Expected argument 'addresses' to be a list") pulumi.set(__self__, "addresses", addresses) @@ -39,6 +39,9 @@ def __init__(__self__, addresses=None, alternate_identifier=None, display_name=N if external_ids and not isinstance(external_ids, list): raise TypeError("Expected argument 'external_ids' to be a list") pulumi.set(__self__, "external_ids", external_ids) + if filter and not isinstance(filter, dict): + raise TypeError("Expected argument 'filter' to be a dict") + pulumi.set(__self__, "filter", filter) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -116,6 +119,14 @@ def external_ids(self) -> Sequence['outputs.GetUserExternalIdResult']: """ return pulumi.get(self, "external_ids") + @property + @pulumi.getter + def filter(self) -> Optional['outputs.GetUserFilterResult']: + warnings.warn("""Use the alternate_identifier attribute instead.""", DeprecationWarning) + pulumi.log.warn("""filter is deprecated: Use the alternate_identifier attribute instead.""") + + return pulumi.get(self, "filter") + @property @pulumi.getter def id(self) -> str: @@ -226,6 +237,7 @@ def __await__(self): display_name=self.display_name, emails=self.emails, external_ids=self.external_ids, + filter=self.filter, id=self.id, identity_store_id=self.identity_store_id, locale=self.locale, @@ -242,6 +254,7 @@ def __await__(self): def get_user(alternate_identifier: Optional[pulumi.InputType['GetUserAlternateIdentifierArgs']] = None, + filter: Optional[pulumi.InputType['GetUserFilterArgs']] = None, identity_store_id: Optional[str] = None, user_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUserResult: @@ -249,16 +262,18 @@ def get_user(alternate_identifier: Optional[pulumi.InputType['GetUserAlternateId Use this data source to get an Identity Store User. - :param pulumi.InputType['GetUserAlternateIdentifierArgs'] alternate_identifier: A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + :param pulumi.InputType['GetUserAlternateIdentifierArgs'] alternate_identifier: A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. + :param pulumi.InputType['GetUserFilterArgs'] filter: Configuration block for filtering by a unique attribute of the user. Detailed below. :param str identity_store_id: Identity Store ID associated with the Single Sign-On Instance. The following arguments are optional: :param str user_id: The identifier for a user in the Identity Store. - > Exactly one of the above arguments must be provided. + > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. """ __args__ = dict() __args__['alternateIdentifier'] = alternate_identifier + __args__['filter'] = filter __args__['identityStoreId'] = identity_store_id __args__['userId'] = user_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -270,6 +285,7 @@ def get_user(alternate_identifier: Optional[pulumi.InputType['GetUserAlternateId display_name=pulumi.get(__ret__, 'display_name'), emails=pulumi.get(__ret__, 'emails'), external_ids=pulumi.get(__ret__, 'external_ids'), + filter=pulumi.get(__ret__, 'filter'), id=pulumi.get(__ret__, 'id'), identity_store_id=pulumi.get(__ret__, 'identity_store_id'), locale=pulumi.get(__ret__, 'locale'), @@ -287,6 +303,7 @@ def get_user(alternate_identifier: Optional[pulumi.InputType['GetUserAlternateId @_utilities.lift_output_func(get_user) def get_user_output(alternate_identifier: Optional[pulumi.Input[Optional[pulumi.InputType['GetUserAlternateIdentifierArgs']]]] = None, + filter: Optional[pulumi.Input[Optional[pulumi.InputType['GetUserFilterArgs']]]] = None, identity_store_id: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: @@ -294,12 +311,13 @@ def get_user_output(alternate_identifier: Optional[pulumi.Input[Optional[pulumi. Use this data source to get an Identity Store User. - :param pulumi.InputType['GetUserAlternateIdentifierArgs'] alternate_identifier: A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id`. Detailed below. + :param pulumi.InputType['GetUserAlternateIdentifierArgs'] alternate_identifier: A unique identifier for a user or group that is not the primary identifier. Conflicts with `user_id` and `filter`. Detailed below. + :param pulumi.InputType['GetUserFilterArgs'] filter: Configuration block for filtering by a unique attribute of the user. Detailed below. :param str identity_store_id: Identity Store ID associated with the Single Sign-On Instance. The following arguments are optional: :param str user_id: The identifier for a user in the Identity Store. - > Exactly one of the above arguments must be provided. + > Exactly one of the above arguments must be provided. Passing both `filter` and `user_id` is allowed for backwards compatibility. """ ... diff --git a/sdk/python/pulumi_aws/identitystore/outputs.py b/sdk/python/pulumi_aws/identitystore/outputs.py index a00736a8e06..679ef2a633c 100644 --- a/sdk/python/pulumi_aws/identitystore/outputs.py +++ b/sdk/python/pulumi_aws/identitystore/outputs.py @@ -21,12 +21,14 @@ 'GetGroupAlternateIdentifierExternalIdResult', 'GetGroupAlternateIdentifierUniqueAttributeResult', 'GetGroupExternalIdResult', + 'GetGroupFilterResult', 'GetUserAddressResult', 'GetUserAlternateIdentifierResult', 'GetUserAlternateIdentifierExternalIdResult', 'GetUserAlternateIdentifierUniqueAttributeResult', 'GetUserEmailResult', 'GetUserExternalIdResult', + 'GetUserFilterResult', 'GetUserNameResult', 'GetUserPhoneNumberResult', ] @@ -529,6 +531,35 @@ def issuer(self) -> str: return pulumi.get(self, "issuer") +@pulumi.output_type +class GetGroupFilterResult(dict): + def __init__(__self__, *, + attribute_path: str, + attribute_value: str): + """ + :param str attribute_path: Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + :param str attribute_value: Value for an attribute. + """ + pulumi.set(__self__, "attribute_path", attribute_path) + pulumi.set(__self__, "attribute_value", attribute_value) + + @property + @pulumi.getter(name="attributePath") + def attribute_path(self) -> str: + """ + Attribute path that is used to specify which attribute name to search. Currently, `DisplayName` is the only valid attribute path. + """ + return pulumi.get(self, "attribute_path") + + @property + @pulumi.getter(name="attributeValue") + def attribute_value(self) -> str: + """ + Value for an attribute. + """ + return pulumi.get(self, "attribute_value") + + @pulumi.output_type class GetUserAddressResult(dict): def __init__(__self__, *, @@ -786,6 +817,35 @@ def issuer(self) -> str: return pulumi.get(self, "issuer") +@pulumi.output_type +class GetUserFilterResult(dict): + def __init__(__self__, *, + attribute_path: str, + attribute_value: str): + """ + :param str attribute_path: Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + :param str attribute_value: Value for an attribute. + """ + pulumi.set(__self__, "attribute_path", attribute_path) + pulumi.set(__self__, "attribute_value", attribute_value) + + @property + @pulumi.getter(name="attributePath") + def attribute_path(self) -> str: + """ + Attribute path that is used to specify which attribute name to search. Currently, `UserName` is the only valid attribute path. + """ + return pulumi.get(self, "attribute_path") + + @property + @pulumi.getter(name="attributeValue") + def attribute_value(self) -> str: + """ + Value for an attribute. + """ + return pulumi.get(self, "attribute_value") + + @pulumi.output_type class GetUserNameResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/iot/provisioning_template.py b/sdk/python/pulumi_aws/iot/provisioning_template.py index 0d3e9876422..f9f59c77159 100644 --- a/sdk/python/pulumi_aws/iot/provisioning_template.py +++ b/sdk/python/pulumi_aws/iot/provisioning_template.py @@ -343,6 +343,7 @@ def __init__(__self__, fleet = aws.iot.ProvisioningTemplate("fleet", description="My provisioning template", provisioning_role_arn=iot_fleet_provisioning.arn, + enabled=True, template_body=device_policy_policy.name.apply(lambda name: json.dumps({ "Parameters": { "SerialNumber": { @@ -424,6 +425,7 @@ def __init__(__self__, fleet = aws.iot.ProvisioningTemplate("fleet", description="My provisioning template", provisioning_role_arn=iot_fleet_provisioning.arn, + enabled=True, template_body=device_policy_policy.name.apply(lambda name: json.dumps({ "Parameters": { "SerialNumber": { diff --git a/sdk/python/pulumi_aws/lambda_/get_function_url.py b/sdk/python/pulumi_aws/lambda_/get_function_url.py index 93a7dc51ab0..62eeb270b0c 100644 --- a/sdk/python/pulumi_aws/lambda_/get_function_url.py +++ b/sdk/python/pulumi_aws/lambda_/get_function_url.py @@ -177,7 +177,7 @@ def get_function_url(function_name: Optional[str] = None, ``` - :param str function_name: he name (or ARN) of the Lambda function. + :param str function_name: The name (or ARN) of the Lambda function. :param str qualifier: Alias name or `"$LATEST"`. """ __args__ = dict() @@ -219,7 +219,7 @@ def get_function_url_output(function_name: Optional[pulumi.Input[str]] = None, ``` - :param str function_name: he name (or ARN) of the Lambda function. + :param str function_name: The name (or ARN) of the Lambda function. :param str qualifier: Alias name or `"$LATEST"`. """ ... diff --git a/sdk/python/pulumi_aws/licensemanager/association.py b/sdk/python/pulumi_aws/licensemanager/association.py index c51b85b3b90..c2e490c76c3 100644 --- a/sdk/python/pulumi_aws/licensemanager/association.py +++ b/sdk/python/pulumi_aws/licensemanager/association.py @@ -125,11 +125,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import { - ```sh - $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - ``` + to = aws_licensemanager_association.example + + id = "arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -170,11 +170,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import license configurations using `resource_arn,license_configuration_arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For exampleterraform import { - ```sh - $ pulumi import aws:licensemanager/association:Association example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - ``` + to = aws_licensemanager_association.example + + id = "arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For exampleconsole % TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef :param str resource_name: The name of the resource. :param AssociationArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/licensemanager/license_configuration.py b/sdk/python/pulumi_aws/licensemanager/license_configuration.py index 9d247d3f034..72195ba655d 100644 --- a/sdk/python/pulumi_aws/licensemanager/license_configuration.py +++ b/sdk/python/pulumi_aws/licensemanager/license_configuration.py @@ -29,7 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] license_count_hard_limit: Sets the number of available licenses as a hard limit. :param pulumi.Input[Sequence[pulumi.Input[str]]] license_rules: Array of configured License Manager rules. :param pulumi.Input[str] name: Name of the license configuration. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "license_counting_type", license_counting_type) if description is not None: @@ -121,7 +121,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -153,7 +153,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] license_rules: Array of configured License Manager rules. :param pulumi.Input[str] name: Name of the license configuration. :param pulumi.Input[str] owner_account_id: Account ID of the owner of the license configuration. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: @@ -277,7 +277,7 @@ def owner_account_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -314,7 +314,7 @@ def __init__(__self__, """ Provides a License Manager license configuration resource. - > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - recreate the resource instead. + > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.` to recreate the resource instead. ## Example Usage @@ -346,11 +346,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import license configurations using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - ``` + to = aws_licensemanager_license_configuration.example + + id = "arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -360,7 +360,7 @@ def __init__(__self__, :param pulumi.Input[str] license_counting_type: Dimension to use to track license inventory. Specify either `vCPU`, `Instance`, `Core` or `Socket`. :param pulumi.Input[Sequence[pulumi.Input[str]]] license_rules: Array of configured License Manager rules. :param pulumi.Input[str] name: Name of the license configuration. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -371,7 +371,7 @@ def __init__(__self__, """ Provides a License Manager license configuration resource. - > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - recreate the resource instead. + > **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.` to recreate the resource instead. ## Example Usage @@ -403,11 +403,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import license configurations using the `id`. For example: + In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For exampleterraform import { - ```sh - $ pulumi import aws:licensemanager/licenseConfiguration:LicenseConfiguration example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef - ``` + to = aws_licensemanager_license_configuration.example + + id = "arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" } Using `TODO import`, import license configurations using the `id`. For exampleconsole % TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef :param str resource_name: The name of the resource. :param LicenseConfigurationArgs args: The arguments to use to populate this resource's properties. @@ -487,7 +487,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] license_rules: Array of configured License Manager rules. :param pulumi.Input[str] name: Name of the license configuration. :param pulumi.Input[str] owner_account_id: Account ID of the owner of the license configuration. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -574,7 +574,7 @@ def owner_account_id(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/medialive/_inputs.py b/sdk/python/pulumi_aws/medialive/_inputs.py index 1a117f6da2b..46ccafc52c6 100644 --- a/sdk/python/pulumi_aws/medialive/_inputs.py +++ b/sdk/python/pulumi_aws/medialive/_inputs.py @@ -5582,7 +5582,7 @@ def __init__(__self__, *, :param pulumi.Input['ChannelEncoderSettingsOutputGroupOutputOutputSettingsMediaPackageOutputSettingsArgs'] media_package_output_settings: Media package output settings. This can be set as an empty block. :param pulumi.Input['ChannelEncoderSettingsOutputGroupOutputOutputSettingsMultiplexOutputSettingsArgs'] multiplex_output_settings: Multiplex output settings. See Multiplex Output Settings for more details. :param pulumi.Input['ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettingsArgs'] rtmp_output_settings: RTMP output settings. See RTMP Output Settings for more details. - :param pulumi.Input['ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsArgs'] udp_output_settings: UDP output settings. See UDP Output Settings for more details + :param pulumi.Input['ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsArgs'] udp_output_settings: UDP output settings. See UDP Output Settings for more details. """ if archive_output_settings is not None: pulumi.set(__self__, "archive_output_settings", archive_output_settings) @@ -5680,7 +5680,7 @@ def rtmp_output_settings(self, value: Optional[pulumi.Input['ChannelEncoderSetti @pulumi.getter(name="udpOutputSettings") def udp_output_settings(self) -> Optional[pulumi.Input['ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsArgs']]: """ - UDP output settings. See UDP Output Settings for more details + UDP output settings. See UDP Output Settings for more details. """ return pulumi.get(self, "udp_output_settings") @@ -9734,7 +9734,8 @@ def __init__(__self__, *, """ :param pulumi.Input[str] input_attachment_name: User-specified name for the attachment. :param pulumi.Input[str] input_id: The ID of the input. - :param pulumi.Input['ChannelInputAttachmentInputSettingsArgs'] input_settings: Settings of an input. See Input Settings for more details + :param pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsArgs'] automatic_input_failover_settings: User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + :param pulumi.Input['ChannelInputAttachmentInputSettingsArgs'] input_settings: Settings of an input. See Input Settings for more details. """ pulumi.set(__self__, "input_attachment_name", input_attachment_name) pulumi.set(__self__, "input_id", input_id) @@ -9770,6 +9771,9 @@ def input_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="automaticInputFailoverSettings") def automatic_input_failover_settings(self) -> Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsArgs']]: + """ + User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + """ return pulumi.get(self, "automatic_input_failover_settings") @automatic_input_failover_settings.setter @@ -9780,7 +9784,7 @@ def automatic_input_failover_settings(self, value: Optional[pulumi.Input['Channe @pulumi.getter(name="inputSettings") def input_settings(self) -> Optional[pulumi.Input['ChannelInputAttachmentInputSettingsArgs']]: """ - Settings of an input. See Input Settings for more details + Settings of an input. See Input Settings for more details. """ return pulumi.get(self, "input_settings") @@ -9796,6 +9800,11 @@ def __init__(__self__, *, error_clear_time_msec: Optional[pulumi.Input[int]] = None, failover_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs']]]] = None, input_preference: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] secondary_input_id: The input ID of the secondary input in the automatic input failover pair. + :param pulumi.Input[int] error_clear_time_msec: This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\\_preference for the failover pair is set to PRIMARY\\_INPUT\\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + :param pulumi.Input[str] input_preference: Input preference when deciding which input to make active when a previously failed input has recovered. + """ pulumi.set(__self__, "secondary_input_id", secondary_input_id) if error_clear_time_msec is not None: pulumi.set(__self__, "error_clear_time_msec", error_clear_time_msec) @@ -9807,6 +9816,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="secondaryInputId") def secondary_input_id(self) -> pulumi.Input[str]: + """ + The input ID of the secondary input in the automatic input failover pair. + """ return pulumi.get(self, "secondary_input_id") @secondary_input_id.setter @@ -9816,6 +9828,9 @@ def secondary_input_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="errorClearTimeMsec") def error_clear_time_msec(self) -> Optional[pulumi.Input[int]]: + """ + This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\\_preference for the failover pair is set to PRIMARY\\_INPUT\\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + """ return pulumi.get(self, "error_clear_time_msec") @error_clear_time_msec.setter @@ -9834,6 +9849,9 @@ def failover_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @property @pulumi.getter(name="inputPreference") def input_preference(self) -> Optional[pulumi.Input[str]]: + """ + Input preference when deciding which input to make active when a previously failed input has recovered. + """ return pulumi.get(self, "input_preference") @input_preference.setter @@ -9845,12 +9863,18 @@ def input_preference(self, value: Optional[pulumi.Input[str]]): class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionArgs: def __init__(__self__, *, failover_condition_settings: Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs']] = None): + """ + :param pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs'] failover_condition_settings: Failover condition type-specific settings. See Failover Condition Settings for more details. + """ if failover_condition_settings is not None: pulumi.set(__self__, "failover_condition_settings", failover_condition_settings) @property @pulumi.getter(name="failoverConditionSettings") def failover_condition_settings(self) -> Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs']]: + """ + Failover condition type-specific settings. See Failover Condition Settings for more details. + """ return pulumi.get(self, "failover_condition_settings") @failover_condition_settings.setter @@ -9864,6 +9888,11 @@ def __init__(__self__, *, audio_silence_settings: Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs']] = None, input_loss_settings: Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs']] = None, video_black_settings: Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs']] = None): + """ + :param pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs'] audio_silence_settings: MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + :param pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs'] input_loss_settings: MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + :param pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs'] video_black_settings: MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + """ if audio_silence_settings is not None: pulumi.set(__self__, "audio_silence_settings", audio_silence_settings) if input_loss_settings is not None: @@ -9874,6 +9903,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="audioSilenceSettings") def audio_silence_settings(self) -> Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs']]: + """ + MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + """ return pulumi.get(self, "audio_silence_settings") @audio_silence_settings.setter @@ -9883,6 +9915,9 @@ def audio_silence_settings(self, value: Optional[pulumi.Input['ChannelInputAttac @property @pulumi.getter(name="inputLossSettings") def input_loss_settings(self) -> Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs']]: + """ + MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + """ return pulumi.get(self, "input_loss_settings") @input_loss_settings.setter @@ -9892,6 +9927,9 @@ def input_loss_settings(self, value: Optional[pulumi.Input['ChannelInputAttachme @property @pulumi.getter(name="videoBlackSettings") def video_black_settings(self) -> Optional[pulumi.Input['ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs']]: + """ + MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + """ return pulumi.get(self, "video_black_settings") @video_black_settings.setter @@ -9905,7 +9943,8 @@ def __init__(__self__, *, audio_selector_name: pulumi.Input[str], audio_silence_threshold_msec: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[str] audio_selector_name: The name of the audio selector used as the source for this AudioDescription. + :param pulumi.Input[str] audio_selector_name: The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. + :param pulumi.Input[int] audio_silence_threshold_msec: The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. """ pulumi.set(__self__, "audio_selector_name", audio_selector_name) if audio_silence_threshold_msec is not None: @@ -9915,7 +9954,7 @@ def __init__(__self__, *, @pulumi.getter(name="audioSelectorName") def audio_selector_name(self) -> pulumi.Input[str]: """ - The name of the audio selector used as the source for this AudioDescription. + The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. """ return pulumi.get(self, "audio_selector_name") @@ -9926,6 +9965,9 @@ def audio_selector_name(self, value: pulumi.Input[str]): @property @pulumi.getter(name="audioSilenceThresholdMsec") def audio_silence_threshold_msec(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + """ return pulumi.get(self, "audio_silence_threshold_msec") @audio_silence_threshold_msec.setter @@ -9937,12 +9979,18 @@ def audio_silence_threshold_msec(self, value: Optional[pulumi.Input[int]]): class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs: def __init__(__self__, *, input_loss_threshold_msec: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] input_loss_threshold_msec: The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + """ if input_loss_threshold_msec is not None: pulumi.set(__self__, "input_loss_threshold_msec", input_loss_threshold_msec) @property @pulumi.getter(name="inputLossThresholdMsec") def input_loss_threshold_msec(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + """ return pulumi.get(self, "input_loss_threshold_msec") @input_loss_threshold_msec.setter @@ -9955,6 +10003,10 @@ class ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailo def __init__(__self__, *, black_detect_threshold: Optional[pulumi.Input[float]] = None, video_black_threshold_msec: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[float] black_detect_threshold: A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + :param pulumi.Input[int] video_black_threshold_msec: The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + """ if black_detect_threshold is not None: pulumi.set(__self__, "black_detect_threshold", black_detect_threshold) if video_black_threshold_msec is not None: @@ -9963,6 +10015,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="blackDetectThreshold") def black_detect_threshold(self) -> Optional[pulumi.Input[float]]: + """ + A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + """ return pulumi.get(self, "black_detect_threshold") @black_detect_threshold.setter @@ -9972,6 +10027,9 @@ def black_detect_threshold(self, value: Optional[pulumi.Input[float]]): @property @pulumi.getter(name="videoBlackThresholdMsec") def video_black_threshold_msec(self) -> Optional[pulumi.Input[int]]: + """ + The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + """ return pulumi.get(self, "video_black_threshold_msec") @video_black_threshold_msec.setter diff --git a/sdk/python/pulumi_aws/medialive/outputs.py b/sdk/python/pulumi_aws/medialive/outputs.py index 40faed4b913..53ec6240981 100644 --- a/sdk/python/pulumi_aws/medialive/outputs.py +++ b/sdk/python/pulumi_aws/medialive/outputs.py @@ -5842,7 +5842,7 @@ def __init__(__self__, *, :param 'ChannelEncoderSettingsOutputGroupOutputOutputSettingsMediaPackageOutputSettingsArgs' media_package_output_settings: Media package output settings. This can be set as an empty block. :param 'ChannelEncoderSettingsOutputGroupOutputOutputSettingsMultiplexOutputSettingsArgs' multiplex_output_settings: Multiplex output settings. See Multiplex Output Settings for more details. :param 'ChannelEncoderSettingsOutputGroupOutputOutputSettingsRtmpOutputSettingsArgs' rtmp_output_settings: RTMP output settings. See RTMP Output Settings for more details. - :param 'ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsArgs' udp_output_settings: UDP output settings. See UDP Output Settings for more details + :param 'ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettingsArgs' udp_output_settings: UDP output settings. See UDP Output Settings for more details. """ if archive_output_settings is not None: pulumi.set(__self__, "archive_output_settings", archive_output_settings) @@ -5912,7 +5912,7 @@ def rtmp_output_settings(self) -> Optional['outputs.ChannelEncoderSettingsOutput @pulumi.getter(name="udpOutputSettings") def udp_output_settings(self) -> Optional['outputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsUdpOutputSettings']: """ - UDP output settings. See UDP Output Settings for more details + UDP output settings. See UDP Output Settings for more details. """ return pulumi.get(self, "udp_output_settings") @@ -9962,7 +9962,8 @@ def __init__(__self__, *, """ :param str input_attachment_name: User-specified name for the attachment. :param str input_id: The ID of the input. - :param 'ChannelInputAttachmentInputSettingsArgs' input_settings: Settings of an input. See Input Settings for more details + :param 'ChannelInputAttachmentAutomaticInputFailoverSettingsArgs' automatic_input_failover_settings: User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + :param 'ChannelInputAttachmentInputSettingsArgs' input_settings: Settings of an input. See Input Settings for more details. """ pulumi.set(__self__, "input_attachment_name", input_attachment_name) pulumi.set(__self__, "input_id", input_id) @@ -9990,13 +9991,16 @@ def input_id(self) -> str: @property @pulumi.getter(name="automaticInputFailoverSettings") def automatic_input_failover_settings(self) -> Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettings']: + """ + User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input. See Automatic Input Failover Settings for more details. + """ return pulumi.get(self, "automatic_input_failover_settings") @property @pulumi.getter(name="inputSettings") def input_settings(self) -> Optional['outputs.ChannelInputAttachmentInputSettings']: """ - Settings of an input. See Input Settings for more details + Settings of an input. See Input Settings for more details. """ return pulumi.get(self, "input_settings") @@ -10031,6 +10035,11 @@ def __init__(__self__, *, error_clear_time_msec: Optional[int] = None, failover_conditions: Optional[Sequence['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverCondition']] = None, input_preference: Optional[str] = None): + """ + :param str secondary_input_id: The input ID of the secondary input in the automatic input failover pair. + :param int error_clear_time_msec: This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\\_preference for the failover pair is set to PRIMARY\\_INPUT\\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + :param str input_preference: Input preference when deciding which input to make active when a previously failed input has recovered. + """ pulumi.set(__self__, "secondary_input_id", secondary_input_id) if error_clear_time_msec is not None: pulumi.set(__self__, "error_clear_time_msec", error_clear_time_msec) @@ -10042,11 +10051,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="secondaryInputId") def secondary_input_id(self) -> str: + """ + The input ID of the secondary input in the automatic input failover pair. + """ return pulumi.get(self, "secondary_input_id") @property @pulumi.getter(name="errorClearTimeMsec") def error_clear_time_msec(self) -> Optional[int]: + """ + This clear time defines the requirement a recovered input must meet to be considered healthy. The input must have no failover conditions for this length of time. Enter a time in milliseconds. This value is particularly important if the input\\_preference for the failover pair is set to PRIMARY\\_INPUT\\_PREFERRED, because after this time, MediaLive will switch back to the primary input. + """ return pulumi.get(self, "error_clear_time_msec") @property @@ -10057,6 +10072,9 @@ def failover_conditions(self) -> Optional[Sequence['outputs.ChannelInputAttachme @property @pulumi.getter(name="inputPreference") def input_preference(self) -> Optional[str]: + """ + Input preference when deciding which input to make active when a previously failed input has recovered. + """ return pulumi.get(self, "input_preference") @@ -10081,12 +10099,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, failover_condition_settings: Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings'] = None): + """ + :param 'ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsArgs' failover_condition_settings: Failover condition type-specific settings. See Failover Condition Settings for more details. + """ if failover_condition_settings is not None: pulumi.set(__self__, "failover_condition_settings", failover_condition_settings) @property @pulumi.getter(name="failoverConditionSettings") def failover_condition_settings(self) -> Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettings']: + """ + Failover condition type-specific settings. See Failover Condition Settings for more details. + """ return pulumi.get(self, "failover_condition_settings") @@ -10117,6 +10141,11 @@ def __init__(__self__, *, audio_silence_settings: Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings'] = None, input_loss_settings: Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings'] = None, video_black_settings: Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings'] = None): + """ + :param 'ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettingsArgs' audio_silence_settings: MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + :param 'ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettingsArgs' input_loss_settings: MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + :param 'ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettingsArgs' video_black_settings: MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + """ if audio_silence_settings is not None: pulumi.set(__self__, "audio_silence_settings", audio_silence_settings) if input_loss_settings is not None: @@ -10127,16 +10156,25 @@ def __init__(__self__, *, @property @pulumi.getter(name="audioSilenceSettings") def audio_silence_settings(self) -> Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsAudioSilenceSettings']: + """ + MediaLive will perform a failover if the specified audio selector is silent for the specified period. See Audio Silence Failover Settings for more details. + """ return pulumi.get(self, "audio_silence_settings") @property @pulumi.getter(name="inputLossSettings") def input_loss_settings(self) -> Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsInputLossSettings']: + """ + MediaLive will perform a failover if content is not detected in this input for the specified period. See Input Loss Failover Settings for more details. + """ return pulumi.get(self, "input_loss_settings") @property @pulumi.getter(name="videoBlackSettings") def video_black_settings(self) -> Optional['outputs.ChannelInputAttachmentAutomaticInputFailoverSettingsFailoverConditionFailoverConditionSettingsVideoBlackSettings']: + """ + MediaLive will perform a failover if content is considered black for the specified period. See Video Black Failover Settings for more details. + """ return pulumi.get(self, "video_black_settings") @@ -10165,7 +10203,8 @@ def __init__(__self__, *, audio_selector_name: str, audio_silence_threshold_msec: Optional[int] = None): """ - :param str audio_selector_name: The name of the audio selector used as the source for this AudioDescription. + :param str audio_selector_name: The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. + :param int audio_silence_threshold_msec: The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. """ pulumi.set(__self__, "audio_selector_name", audio_selector_name) if audio_silence_threshold_msec is not None: @@ -10175,13 +10214,16 @@ def __init__(__self__, *, @pulumi.getter(name="audioSelectorName") def audio_selector_name(self) -> str: """ - The name of the audio selector used as the source for this AudioDescription. + The name of the audio selector in the input that MediaLive should monitor to detect silence. Select your most important rendition. If you didn't create an audio selector in this input, leave blank. """ return pulumi.get(self, "audio_selector_name") @property @pulumi.getter(name="audioSilenceThresholdMsec") def audio_silence_threshold_msec(self) -> Optional[int]: + """ + The amount of time (in milliseconds) that the active input must be silent before automatic input failover occurs. Silence is defined as audio loss or audio quieter than -50 dBFS. + """ return pulumi.get(self, "audio_silence_threshold_msec") @@ -10206,12 +10248,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, input_loss_threshold_msec: Optional[int] = None): + """ + :param int input_loss_threshold_msec: The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + """ if input_loss_threshold_msec is not None: pulumi.set(__self__, "input_loss_threshold_msec", input_loss_threshold_msec) @property @pulumi.getter(name="inputLossThresholdMsec") def input_loss_threshold_msec(self) -> Optional[int]: + """ + The amount of time (in milliseconds) that no input is detected. After that time, an input failover will occur. + """ return pulumi.get(self, "input_loss_threshold_msec") @@ -10239,6 +10287,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, black_detect_threshold: Optional[float] = None, video_black_threshold_msec: Optional[int] = None): + """ + :param float black_detect_threshold: A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + :param int video_black_threshold_msec: The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + """ if black_detect_threshold is not None: pulumi.set(__self__, "black_detect_threshold", black_detect_threshold) if video_black_threshold_msec is not None: @@ -10247,11 +10299,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="blackDetectThreshold") def black_detect_threshold(self) -> Optional[float]: + """ + A value used in calculating the threshold below which MediaLive considers a pixel to be 'black'. For the input to be considered black, every pixel in a frame must be below this threshold. The threshold is calculated as a percentage (expressed as a decimal) of white. Therefore .1 means 10% white (or 90% black). Note how the formula works for any color depth. For example, if you set this field to 0.1 in 10-bit color depth: (10230.1=102.3), which means a pixel value of 102 or less is 'black'. If you set this field to .1 in an 8-bit color depth: (2550.1=25.5), which means a pixel value of 25 or less is 'black'. The range is 0.0 to 1.0, with any number of decimal places. + """ return pulumi.get(self, "black_detect_threshold") @property @pulumi.getter(name="videoBlackThresholdMsec") def video_black_threshold_msec(self) -> Optional[int]: + """ + The amount of time (in milliseconds) that the active input must be black before automatic input failover occurs. + """ return pulumi.get(self, "video_black_threshold_msec") diff --git a/sdk/python/pulumi_aws/opensearch/_inputs.py b/sdk/python/pulumi_aws/opensearch/_inputs.py index 97b2250ca85..10ab79f2c74 100644 --- a/sdk/python/pulumi_aws/opensearch/_inputs.py +++ b/sdk/python/pulumi_aws/opensearch/_inputs.py @@ -30,6 +30,7 @@ 'DomainSamlOptionsSamlOptionsArgs', 'DomainSamlOptionsSamlOptionsIdpArgs', 'DomainSnapshotOptionsArgs', + 'DomainSoftwareUpdateOptionsArgs', 'DomainVpcOptionsArgs', 'OutboundConnectionLocalDomainInfoArgs', 'OutboundConnectionRemoteDomainInfoArgs', @@ -1181,6 +1182,29 @@ def automated_snapshot_start_hour(self, value: pulumi.Input[int]): pulumi.set(self, "automated_snapshot_start_hour", value) +@pulumi.input_type +class DomainSoftwareUpdateOptionsArgs: + def __init__(__self__, *, + auto_software_update_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] auto_software_update_enabled: Whether automatic service software updates are enabled for the domain. Defaults to `false`. + """ + if auto_software_update_enabled is not None: + pulumi.set(__self__, "auto_software_update_enabled", auto_software_update_enabled) + + @property + @pulumi.getter(name="autoSoftwareUpdateEnabled") + def auto_software_update_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether automatic service software updates are enabled for the domain. Defaults to `false`. + """ + return pulumi.get(self, "auto_software_update_enabled") + + @auto_software_update_enabled.setter + def auto_software_update_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_software_update_enabled", value) + + @pulumi.input_type class DomainVpcOptionsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/opensearch/domain.py b/sdk/python/pulumi_aws/opensearch/domain.py index 1e1165c361f..b9b729d048a 100644 --- a/sdk/python/pulumi_aws/opensearch/domain.py +++ b/sdk/python/pulumi_aws/opensearch/domain.py @@ -31,6 +31,7 @@ def __init__(__self__, *, node_to_node_encryption: Optional[pulumi.Input['DomainNodeToNodeEncryptionArgs']] = None, off_peak_window_options: Optional[pulumi.Input['DomainOffPeakWindowOptionsArgs']] = None, snapshot_options: Optional[pulumi.Input['DomainSnapshotOptionsArgs']] = None, + software_update_options: Optional[pulumi.Input['DomainSoftwareUpdateOptionsArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_options: Optional[pulumi.Input['DomainVpcOptionsArgs']] = None): """ @@ -54,6 +55,7 @@ def __init__(__self__, *, :param pulumi.Input['DomainNodeToNodeEncryptionArgs'] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. :param pulumi.Input['DomainOffPeakWindowOptionsArgs'] off_peak_window_options: Configuration to add Off Peak update options. ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)). Detailed below. :param pulumi.Input['DomainSnapshotOptionsArgs'] snapshot_options: Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. + :param pulumi.Input['DomainSoftwareUpdateOptionsArgs'] software_update_options: Software update options for the domain. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input['DomainVpcOptionsArgs'] vpc_options: Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below. """ @@ -87,6 +89,8 @@ def __init__(__self__, *, pulumi.set(__self__, "off_peak_window_options", off_peak_window_options) if snapshot_options is not None: pulumi.set(__self__, "snapshot_options", snapshot_options) + if software_update_options is not None: + pulumi.set(__self__, "software_update_options", software_update_options) if tags is not None: pulumi.set(__self__, "tags", tags) if vpc_options is not None: @@ -276,6 +280,18 @@ def snapshot_options(self) -> Optional[pulumi.Input['DomainSnapshotOptionsArgs'] def snapshot_options(self, value: Optional[pulumi.Input['DomainSnapshotOptionsArgs']]): pulumi.set(self, "snapshot_options", value) + @property + @pulumi.getter(name="softwareUpdateOptions") + def software_update_options(self) -> Optional[pulumi.Input['DomainSoftwareUpdateOptionsArgs']]: + """ + Software update options for the domain. Detailed below. + """ + return pulumi.get(self, "software_update_options") + + @software_update_options.setter + def software_update_options(self, value: Optional[pulumi.Input['DomainSoftwareUpdateOptionsArgs']]): + pulumi.set(self, "software_update_options", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -324,6 +340,7 @@ def __init__(__self__, *, node_to_node_encryption: Optional[pulumi.Input['DomainNodeToNodeEncryptionArgs']] = None, off_peak_window_options: Optional[pulumi.Input['DomainOffPeakWindowOptionsArgs']] = None, snapshot_options: Optional[pulumi.Input['DomainSnapshotOptionsArgs']] = None, + software_update_options: Optional[pulumi.Input['DomainSoftwareUpdateOptionsArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_options: Optional[pulumi.Input['DomainVpcOptionsArgs']] = None): @@ -353,6 +370,7 @@ def __init__(__self__, *, :param pulumi.Input['DomainNodeToNodeEncryptionArgs'] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. :param pulumi.Input['DomainOffPeakWindowOptionsArgs'] off_peak_window_options: Configuration to add Off Peak update options. ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)). Detailed below. :param pulumi.Input['DomainSnapshotOptionsArgs'] snapshot_options: Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. + :param pulumi.Input['DomainSoftwareUpdateOptionsArgs'] software_update_options: Software update options for the domain. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * `vpc_options.0.availability_zones` - If the domain was created inside a VPC, the names of the availability zones the configured `subnet_ids` were created inside. @@ -402,6 +420,8 @@ def __init__(__self__, *, pulumi.set(__self__, "off_peak_window_options", off_peak_window_options) if snapshot_options is not None: pulumi.set(__self__, "snapshot_options", snapshot_options) + if software_update_options is not None: + pulumi.set(__self__, "software_update_options", software_update_options) if tags is not None: pulumi.set(__self__, "tags", tags) if tags_all is not None: @@ -656,6 +676,18 @@ def snapshot_options(self) -> Optional[pulumi.Input['DomainSnapshotOptionsArgs'] def snapshot_options(self, value: Optional[pulumi.Input['DomainSnapshotOptionsArgs']]): pulumi.set(self, "snapshot_options", value) + @property + @pulumi.getter(name="softwareUpdateOptions") + def software_update_options(self) -> Optional[pulumi.Input['DomainSoftwareUpdateOptionsArgs']]: + """ + Software update options for the domain. Detailed below. + """ + return pulumi.get(self, "software_update_options") + + @software_update_options.setter + def software_update_options(self, value: Optional[pulumi.Input['DomainSoftwareUpdateOptionsArgs']]): + pulumi.set(self, "software_update_options", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -715,6 +747,7 @@ def __init__(__self__, node_to_node_encryption: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, snapshot_options: Optional[pulumi.Input[pulumi.InputType['DomainSnapshotOptionsArgs']]] = None, + software_update_options: Optional[pulumi.Input[pulumi.InputType['DomainSoftwareUpdateOptionsArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_options: Optional[pulumi.Input[pulumi.InputType['DomainVpcOptionsArgs']]] = None, __props__=None): @@ -982,6 +1015,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. :param pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']] off_peak_window_options: Configuration to add Off Peak update options. ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)). Detailed below. :param pulumi.Input[pulumi.InputType['DomainSnapshotOptionsArgs']] snapshot_options: Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. + :param pulumi.Input[pulumi.InputType['DomainSoftwareUpdateOptionsArgs']] software_update_options: Software update options for the domain. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[pulumi.InputType['DomainVpcOptionsArgs']] vpc_options: Configuration block for VPC related options. Adding or removing this configuration forces a new resource ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html)). Detailed below. """ @@ -1264,6 +1298,7 @@ def _internal_init(__self__, node_to_node_encryption: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, snapshot_options: Optional[pulumi.Input[pulumi.InputType['DomainSnapshotOptionsArgs']]] = None, + software_update_options: Optional[pulumi.Input[pulumi.InputType['DomainSoftwareUpdateOptionsArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_options: Optional[pulumi.Input[pulumi.InputType['DomainVpcOptionsArgs']]] = None, __props__=None): @@ -1290,6 +1325,7 @@ def _internal_init(__self__, __props__.__dict__["node_to_node_encryption"] = node_to_node_encryption __props__.__dict__["off_peak_window_options"] = off_peak_window_options __props__.__dict__["snapshot_options"] = snapshot_options + __props__.__dict__["software_update_options"] = software_update_options __props__.__dict__["tags"] = tags __props__.__dict__["vpc_options"] = vpc_options __props__.__dict__["arn"] = None @@ -1328,6 +1364,7 @@ def get(resource_name: str, node_to_node_encryption: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, snapshot_options: Optional[pulumi.Input[pulumi.InputType['DomainSnapshotOptionsArgs']]] = None, + software_update_options: Optional[pulumi.Input[pulumi.InputType['DomainSoftwareUpdateOptionsArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpc_options: Optional[pulumi.Input[pulumi.InputType['DomainVpcOptionsArgs']]] = None) -> 'Domain': @@ -1362,6 +1399,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionArgs']] node_to_node_encryption: Configuration block for node-to-node encryption options. Detailed below. :param pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']] off_peak_window_options: Configuration to add Off Peak update options. ([documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/off-peak.html)). Detailed below. :param pulumi.Input[pulumi.InputType['DomainSnapshotOptionsArgs']] snapshot_options: Configuration block for snapshot related options. Detailed below. DEPRECATED. For domains running OpenSearch 5.3 and later, Amazon OpenSearch takes hourly automated snapshots, making this setting irrelevant. For domains running earlier versions, OpenSearch takes daily automated snapshots. + :param pulumi.Input[pulumi.InputType['DomainSoftwareUpdateOptionsArgs']] software_update_options: Software update options for the domain. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. * `vpc_options.0.availability_zones` - If the domain was created inside a VPC, the names of the availability zones the configured `subnet_ids` were created inside. @@ -1392,6 +1430,7 @@ def get(resource_name: str, __props__.__dict__["node_to_node_encryption"] = node_to_node_encryption __props__.__dict__["off_peak_window_options"] = off_peak_window_options __props__.__dict__["snapshot_options"] = snapshot_options + __props__.__dict__["software_update_options"] = software_update_options __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["vpc_options"] = vpc_options @@ -1564,6 +1603,14 @@ def snapshot_options(self) -> pulumi.Output[Optional['outputs.DomainSnapshotOpti """ return pulumi.get(self, "snapshot_options") + @property + @pulumi.getter(name="softwareUpdateOptions") + def software_update_options(self) -> pulumi.Output['outputs.DomainSoftwareUpdateOptions']: + """ + Software update options for the domain. Detailed below. + """ + return pulumi.get(self, "software_update_options") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: diff --git a/sdk/python/pulumi_aws/opensearch/get_domain.py b/sdk/python/pulumi_aws/opensearch/get_domain.py index a9a2c78f00f..451d196a139 100644 --- a/sdk/python/pulumi_aws/opensearch/get_domain.py +++ b/sdk/python/pulumi_aws/opensearch/get_domain.py @@ -23,7 +23,7 @@ class GetDomainResult: """ A collection of values returned by getDomain. """ - def __init__(__self__, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, auto_tune_options=None, cluster_configs=None, cognito_options=None, created=None, dashboard_endpoint=None, deleted=None, domain_id=None, domain_name=None, ebs_options=None, encryption_at_rests=None, endpoint=None, engine_version=None, id=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryptions=None, off_peak_window_options=None, processing=None, snapshot_options=None, tags=None, vpc_options=None): + def __init__(__self__, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, auto_tune_options=None, cluster_configs=None, cognito_options=None, created=None, dashboard_endpoint=None, deleted=None, domain_id=None, domain_name=None, ebs_options=None, encryption_at_rests=None, endpoint=None, engine_version=None, id=None, kibana_endpoint=None, log_publishing_options=None, node_to_node_encryptions=None, off_peak_window_options=None, processing=None, snapshot_options=None, software_update_options=None, tags=None, vpc_options=None): if access_policies and not isinstance(access_policies, str): raise TypeError("Expected argument 'access_policies' to be a str") pulumi.set(__self__, "access_policies", access_policies) @@ -93,6 +93,9 @@ def __init__(__self__, access_policies=None, advanced_options=None, advanced_sec if snapshot_options and not isinstance(snapshot_options, list): raise TypeError("Expected argument 'snapshot_options' to be a list") pulumi.set(__self__, "snapshot_options", snapshot_options) + if software_update_options and not isinstance(software_update_options, list): + raise TypeError("Expected argument 'software_update_options' to be a list") + pulumi.set(__self__, "software_update_options", software_update_options) if tags and not isinstance(tags, dict): raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) @@ -284,6 +287,14 @@ def snapshot_options(self) -> Sequence['outputs.GetDomainSnapshotOptionResult']: """ return pulumi.get(self, "snapshot_options") + @property + @pulumi.getter(name="softwareUpdateOptions") + def software_update_options(self) -> Sequence['outputs.GetDomainSoftwareUpdateOptionResult']: + """ + Software update options for the domain + """ + return pulumi.get(self, "software_update_options") + @property @pulumi.getter def tags(self) -> Mapping[str, str]: @@ -330,6 +341,7 @@ def __await__(self): off_peak_window_options=self.off_peak_window_options, processing=self.processing, snapshot_options=self.snapshot_options, + software_update_options=self.software_update_options, tags=self.tags, vpc_options=self.vpc_options) @@ -386,6 +398,7 @@ def get_domain(domain_name: Optional[str] = None, off_peak_window_options=pulumi.get(__ret__, 'off_peak_window_options'), processing=pulumi.get(__ret__, 'processing'), snapshot_options=pulumi.get(__ret__, 'snapshot_options'), + software_update_options=pulumi.get(__ret__, 'software_update_options'), tags=pulumi.get(__ret__, 'tags'), vpc_options=pulumi.get(__ret__, 'vpc_options')) diff --git a/sdk/python/pulumi_aws/opensearch/outputs.py b/sdk/python/pulumi_aws/opensearch/outputs.py index 4e3fe0f8f0c..2b892aabb1b 100644 --- a/sdk/python/pulumi_aws/opensearch/outputs.py +++ b/sdk/python/pulumi_aws/opensearch/outputs.py @@ -31,6 +31,7 @@ 'DomainSamlOptionsSamlOptions', 'DomainSamlOptionsSamlOptionsIdp', 'DomainSnapshotOptions', + 'DomainSoftwareUpdateOptions', 'DomainVpcOptions', 'OutboundConnectionLocalDomainInfo', 'OutboundConnectionRemoteDomainInfo', @@ -54,6 +55,7 @@ 'GetDomainOffPeakWindowOptionsOffPeakWindowResult', 'GetDomainOffPeakWindowOptionsOffPeakWindowWindowStartTimeResult', 'GetDomainSnapshotOptionResult', + 'GetDomainSoftwareUpdateOptionResult', 'GetDomainVpcOptionResult', 'GetServerlessSecurityConfigSamlOptionsResult', ] @@ -1276,6 +1278,42 @@ def automated_snapshot_start_hour(self) -> int: return pulumi.get(self, "automated_snapshot_start_hour") +@pulumi.output_type +class DomainSoftwareUpdateOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoSoftwareUpdateEnabled": + suggest = "auto_software_update_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainSoftwareUpdateOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainSoftwareUpdateOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainSoftwareUpdateOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_software_update_enabled: Optional[bool] = None): + """ + :param bool auto_software_update_enabled: Whether automatic service software updates are enabled for the domain. Defaults to `false`. + """ + if auto_software_update_enabled is not None: + pulumi.set(__self__, "auto_software_update_enabled", auto_software_update_enabled) + + @property + @pulumi.getter(name="autoSoftwareUpdateEnabled") + def auto_software_update_enabled(self) -> Optional[bool]: + """ + Whether automatic service software updates are enabled for the domain. Defaults to `false`. + """ + return pulumi.get(self, "auto_software_update_enabled") + + @pulumi.output_type class DomainVpcOptions(dict): @staticmethod @@ -2265,6 +2303,24 @@ def automated_snapshot_start_hour(self) -> int: return pulumi.get(self, "automated_snapshot_start_hour") +@pulumi.output_type +class GetDomainSoftwareUpdateOptionResult(dict): + def __init__(__self__, *, + auto_software_update_enabled: bool): + """ + :param bool auto_software_update_enabled: Enabled or disabled. + """ + pulumi.set(__self__, "auto_software_update_enabled", auto_software_update_enabled) + + @property + @pulumi.getter(name="autoSoftwareUpdateEnabled") + def auto_software_update_enabled(self) -> bool: + """ + Enabled or disabled. + """ + return pulumi.get(self, "auto_software_update_enabled") + + @pulumi.output_type class GetDomainVpcOptionResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/pinpoint/adm_channel.py b/sdk/python/pulumi_aws/pinpoint/adm_channel.py index de9117f7a52..2270924c2ee 100644 --- a/sdk/python/pulumi_aws/pinpoint/adm_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/adm_channel.py @@ -165,6 +165,7 @@ def __init__(__self__, """ Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource. + > **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text. ## Example Usage ```python @@ -181,11 +182,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id - ``` + to = aws_pinpoint_adm_channel.channel + + id = "application-id" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -203,6 +204,7 @@ def __init__(__self__, """ Provides a Pinpoint ADM (Amazon Device Messaging) Channel resource. + > **Note:** All arguments including the Client ID and Client Secret will be stored in the raw state as plain-text. ## Example Usage ```python @@ -219,11 +221,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/admChannel:AdmChannel channel application-id - ``` + to = aws_pinpoint_adm_channel.channel + + id = "application-id" } Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_adm_channel.channel application-id :param str resource_name: The name of the resource. :param AdmChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/apns_channel.py b/sdk/python/pulumi_aws/pinpoint/apns_channel.py index 2bc304dccc0..aa76578db3e 100644 --- a/sdk/python/pulumi_aws/pinpoint/apns_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/apns_channel.py @@ -368,6 +368,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -383,11 +384,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id - ``` + to = aws_pinpoint_apns_channel.apns + + id = "application-id" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -419,6 +420,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -434,11 +436,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsChannel:ApnsChannel apns application-id - ``` + to = aws_pinpoint_apns_channel.apns + + id = "application-id" } Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_channel.apns application-id :param str resource_name: The name of the resource. :param ApnsChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/apns_sandbox_channel.py b/sdk/python/pulumi_aws/pinpoint/apns_sandbox_channel.py index ac866549e82..7a025c4aae5 100644 --- a/sdk/python/pulumi_aws/pinpoint/apns_sandbox_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/apns_sandbox_channel.py @@ -368,6 +368,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs Sandbox Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -383,11 +384,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id - ``` + to = aws_pinpoint_apns_sandbox_channel.apns_sandbox + + id = "application-id" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -419,6 +420,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs Sandbox Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -434,11 +436,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel apns_sandbox application-id - ``` + to = aws_pinpoint_apns_sandbox_channel.apns_sandbox + + id = "application-id" } Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id :param str resource_name: The name of the resource. :param ApnsSandboxChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/apns_voip_channel.py b/sdk/python/pulumi_aws/pinpoint/apns_voip_channel.py index dcbb8ce44ab..b83e373f49d 100644 --- a/sdk/python/pulumi_aws/pinpoint/apns_voip_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/apns_voip_channel.py @@ -368,6 +368,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs VoIP Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -383,11 +384,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id - ``` + to = aws_pinpoint_apns_voip_channel.apns_voip + + id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -419,6 +420,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs VoIP Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -434,11 +436,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsVoipChannel:ApnsVoipChannel apns_voip application-id - ``` + to = aws_pinpoint_apns_voip_channel.apns_voip + + id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id :param str resource_name: The name of the resource. :param ApnsVoipChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/apns_voip_sandbox_channel.py b/sdk/python/pulumi_aws/pinpoint/apns_voip_sandbox_channel.py index 6a6c7af9969..723ac924e26 100644 --- a/sdk/python/pulumi_aws/pinpoint/apns_voip_sandbox_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/apns_voip_sandbox_channel.py @@ -368,6 +368,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs VoIP Sandbox Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -383,11 +384,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id - ``` + to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox + + id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -419,6 +420,7 @@ def __init__(__self__, """ Provides a Pinpoint APNs VoIP Sandbox Channel resource. + > **Note:** All arguments, including certificates and tokens, will be stored in the raw state as plain-text. ## Example Usage ```python @@ -434,11 +436,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel apns_voip_sandbox application-id - ``` + to = aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox + + id = "application-id" } Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id :param str resource_name: The name of the resource. :param ApnsVoipSandboxChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/app.py b/sdk/python/pulumi_aws/pinpoint/app.py index 9097f03f418..35d9a7d0720 100644 --- a/sdk/python/pulumi_aws/pinpoint/app.py +++ b/sdk/python/pulumi_aws/pinpoint/app.py @@ -26,10 +26,10 @@ def __init__(__self__, *, The set of arguments for constructing a App resource. :param pulumi.Input['AppCampaignHookArgs'] campaign_hook: Specifies settings for invoking an AWS Lambda function that customizes a segment for a campaign :param pulumi.Input['AppLimitsArgs'] limits: The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own - :param pulumi.Input[str] name: The application name. By default generated by this provider + :param pulumi.Input[str] name: The application name. By default generated by TODO :param pulumi.Input[str] name_prefix: The name of the Pinpoint application. Conflicts with `name` :param pulumi.Input['AppQuietTimeArgs'] quiet_time: The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own - :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: 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 campaign_hook is not None: pulumi.set(__self__, "campaign_hook", campaign_hook) @@ -72,7 +72,7 @@ def limits(self, value: Optional[pulumi.Input['AppLimitsArgs']]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The application name. By default generated by this provider + The application name. By default generated by TODO """ return pulumi.get(self, "name") @@ -108,7 +108,7 @@ def quiet_time(self, value: Optional[pulumi.Input['AppQuietTimeArgs']]): @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. + 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") @@ -135,10 +135,10 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the PinPoint Application :param pulumi.Input['AppCampaignHookArgs'] campaign_hook: Specifies settings for invoking an AWS Lambda function that customizes a segment for a campaign :param pulumi.Input['AppLimitsArgs'] limits: The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own - :param pulumi.Input[str] name: The application name. By default generated by this provider + :param pulumi.Input[str] name: The application name. By default generated by TODO :param pulumi.Input[str] name_prefix: The name of the Pinpoint application. Conflicts with `name` :param pulumi.Input['AppQuietTimeArgs'] quiet_time: The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own - :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: 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 application_id is not None: @@ -212,7 +212,7 @@ def limits(self, value: Optional[pulumi.Input['AppLimitsArgs']]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The application name. By default generated by this provider + The application name. By default generated by TODO """ return pulumi.get(self, "name") @@ -248,7 +248,7 @@ def quiet_time(self, value: Optional[pulumi.Input['AppQuietTimeArgs']]): @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. + 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") @@ -302,20 +302,20 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint App using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/app:App name application-id - ``` + to = aws_pinpoint_app.name + + id = "application-id" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['AppCampaignHookArgs']] campaign_hook: Specifies settings for invoking an AWS Lambda function that customizes a segment for a campaign :param pulumi.Input[pulumi.InputType['AppLimitsArgs']] limits: The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own - :param pulumi.Input[str] name: The application name. By default generated by this provider + :param pulumi.Input[str] name: The application name. By default generated by TODO :param pulumi.Input[str] name_prefix: The name of the Pinpoint application. Conflicts with `name` :param pulumi.Input[pulumi.InputType['AppQuietTimeArgs']] quiet_time: The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own - :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: 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 @@ -344,11 +344,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint App using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/app:App name application-id - ``` + to = aws_pinpoint_app.name + + id = "application-id" } Using `TODO import`, import Pinpoint App using the `application-id`. For exampleconsole % TODO import aws_pinpoint_app.name application-id :param str resource_name: The name of the resource. :param AppArgs args: The arguments to use to populate this resource's properties. @@ -419,10 +419,10 @@ def get(resource_name: str, :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the PinPoint Application :param pulumi.Input[pulumi.InputType['AppCampaignHookArgs']] campaign_hook: Specifies settings for invoking an AWS Lambda function that customizes a segment for a campaign :param pulumi.Input[pulumi.InputType['AppLimitsArgs']] limits: The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own - :param pulumi.Input[str] name: The application name. By default generated by this provider + :param pulumi.Input[str] name: The application name. By default generated by TODO :param pulumi.Input[str] name_prefix: The name of the Pinpoint application. Conflicts with `name` :param pulumi.Input[pulumi.InputType['AppQuietTimeArgs']] quiet_time: The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own - :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: 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)) @@ -476,7 +476,7 @@ def limits(self) -> pulumi.Output[Optional['outputs.AppLimits']]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The application name. By default generated by this provider + The application name. By default generated by TODO """ return pulumi.get(self, "name") @@ -500,7 +500,7 @@ def quiet_time(self) -> pulumi.Output[Optional['outputs.AppQuietTime']]: @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. + 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") diff --git a/sdk/python/pulumi_aws/pinpoint/baidu_channel.py b/sdk/python/pulumi_aws/pinpoint/baidu_channel.py index 8c3fae248bb..fc729629e15 100644 --- a/sdk/python/pulumi_aws/pinpoint/baidu_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/baidu_channel.py @@ -165,6 +165,7 @@ def __init__(__self__, """ Provides a Pinpoint Baidu Channel resource. + > **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text. ## Example Usage ```python @@ -180,11 +181,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id - ``` + to = aws_pinpoint_baidu_channel.channel + + id = "application-id" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -202,6 +203,7 @@ def __init__(__self__, """ Provides a Pinpoint Baidu Channel resource. + > **Note:** All arguments including the Api Key and Secret Key will be stored in the raw state as plain-text. ## Example Usage ```python @@ -217,11 +219,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/baiduChannel:BaiduChannel channel application-id - ``` + to = aws_pinpoint_baidu_channel.channel + + id = "application-id" } Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_baidu_channel.channel application-id :param str resource_name: The name of the resource. :param BaiduChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/email_channel.py b/sdk/python/pulumi_aws/pinpoint/email_channel.py index 37044925d40..d181e61ca2f 100644 --- a/sdk/python/pulumi_aws/pinpoint/email_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/email_channel.py @@ -283,11 +283,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id - ``` + to = aws_pinpoint_email_channel.email + + id = "application-id" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -343,11 +343,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/emailChannel:EmailChannel email application-id - ``` + to = aws_pinpoint_email_channel.email + + id = "application-id" } Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_email_channel.email application-id :param str resource_name: The name of the resource. :param EmailChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/event_stream.py b/sdk/python/pulumi_aws/pinpoint/event_stream.py index c8732c7e459..b830baa0767 100644 --- a/sdk/python/pulumi_aws/pinpoint/event_stream.py +++ b/sdk/python/pulumi_aws/pinpoint/event_stream.py @@ -168,11 +168,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id - ``` + to = aws_pinpoint_event_stream.stream + + id = "application-id" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -225,11 +225,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/eventStream:EventStream stream application-id - ``` + to = aws_pinpoint_event_stream.stream + + id = "application-id" } Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For exampleconsole % TODO import aws_pinpoint_event_stream.stream application-id :param str resource_name: The name of the resource. :param EventStreamArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/gcm_channel.py b/sdk/python/pulumi_aws/pinpoint/gcm_channel.py index 6cd4cabfd0e..188391cbf16 100644 --- a/sdk/python/pulumi_aws/pinpoint/gcm_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/gcm_channel.py @@ -133,6 +133,7 @@ def __init__(__self__, """ Provides a Pinpoint GCM Channel resource. + > **Note:** Api Key argument will be stored in the raw state as plain-text. ## Example Usage ```python @@ -147,11 +148,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id - ``` + to = aws_pinpoint_gcm_channel.gcm + + id = "application-id" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -168,6 +169,7 @@ def __init__(__self__, """ Provides a Pinpoint GCM Channel resource. + > **Note:** Api Key argument will be stored in the raw state as plain-text. ## Example Usage ```python @@ -182,11 +184,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example: + In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/gcmChannel:GcmChannel gcm application-id - ``` + to = aws_pinpoint_gcm_channel.gcm + + id = "application-id" } Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For exampleconsole % TODO import aws_pinpoint_gcm_channel.gcm application-id :param str resource_name: The name of the resource. :param GcmChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/pinpoint/sms_channel.py b/sdk/python/pulumi_aws/pinpoint/sms_channel.py index 233f3a8961c..59bc7b8ee64 100644 --- a/sdk/python/pulumi_aws/pinpoint/sms_channel.py +++ b/sdk/python/pulumi_aws/pinpoint/sms_channel.py @@ -211,11 +211,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example: + In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id - ``` + to = aws_pinpoint_sms_channel.sms + + id = "application-id" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -245,11 +245,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import the Pinpoint SMS Channel using the `application_id`. For example: + In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For exampleterraform import { - ```sh - $ pulumi import aws:pinpoint/smsChannel:SmsChannel sms application-id - ``` + to = aws_pinpoint_sms_channel.sms + + id = "application-id" } Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For exampleconsole % TODO import aws_pinpoint_sms_channel.sms application-id :param str resource_name: The name of the resource. :param SmsChannelArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/ram/principal_association.py b/sdk/python/pulumi_aws/ram/principal_association.py index 181ba829ef1..2b6361b7c26 100644 --- a/sdk/python/pulumi_aws/ram/principal_association.py +++ b/sdk/python/pulumi_aws/ram/principal_association.py @@ -135,11 +135,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example: + In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import { - ```sh - $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 - ``` + to = aws_ram_principal_association.example + + id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -190,11 +190,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example: + In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleterraform import { - ```sh - $ pulumi import aws:ram/principalAssociation:PrincipalAssociation example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 - ``` + to = aws_ram_principal_association.example + + id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" } Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For exampleconsole % TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012 :param str resource_name: The name of the resource. :param PrincipalAssociationArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/ram/resource_share.py b/sdk/python/pulumi_aws/ram/resource_share.py index 31757fdbdd1..b252dacde1f 100644 --- a/sdk/python/pulumi_aws/ram/resource_share.py +++ b/sdk/python/pulumi_aws/ram/resource_share.py @@ -215,11 +215,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import resource shares using the `arn` of the resource share. For example: + In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import { - ```sh - $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 - ``` + to = aws_ram_resource_share.example + + id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -252,11 +252,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import resource shares using the `arn` of the resource share. For example: + In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For exampleterraform import { - ```sh - $ pulumi import aws:ram/resourceShare:ResourceShare example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 - ``` + to = aws_ram_resource_share.example + + id = "arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" } Using `TODO import`, import resource shares using the `arn` of the resource share. For exampleconsole % TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12 :param str resource_name: The name of the resource. :param ResourceShareArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/ram/resource_share_accepter.py b/sdk/python/pulumi_aws/ram/resource_share_accepter.py index 6e39c6b120c..5efdf0ad22f 100644 --- a/sdk/python/pulumi_aws/ram/resource_share_accepter.py +++ b/sdk/python/pulumi_aws/ram/resource_share_accepter.py @@ -184,7 +184,7 @@ def __init__(__self__, ## Example Usage - This configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `ram.ResourceShare` and uses a data source in the _receiver_ account to create a `ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `ram.ResourceShareAccepter`. + This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `ram.ResourceShare` and uses a data source in the _receiver_ account to create a `ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `ram.ResourceShareAccepter`. ```python import pulumi @@ -207,11 +207,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import resource share accepters using the resource share ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import { - ```sh - $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 - ``` + to = aws_ram_resource_share_accepter.example + + id = "arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -230,7 +230,7 @@ def __init__(__self__, ## Example Usage - This configuration provides an example of using multiple AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `ram.ResourceShare` and uses a data source in the _receiver_ account to create a `ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `ram.ResourceShareAccepter`. + This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `ram.ResourceShare` and uses a data source in the _receiver_ account to create a `ram.PrincipalAssociation` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `ram.ResourceShareAccepter`. ```python import pulumi @@ -253,11 +253,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import resource share accepters using the resource share ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For exampleterraform import { - ```sh - $ pulumi import aws:ram/resourceShareAccepter:ResourceShareAccepter example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 - ``` + to = aws_ram_resource_share_accepter.example + + id = "arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" } Using `TODO import`, import resource share accepters using the resource share ARN. For exampleconsole % TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767 :param str resource_name: The name of the resource. :param ResourceShareAccepterArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/rds/cluster_parameter_group.py b/sdk/python/pulumi_aws/rds/cluster_parameter_group.py index 470064d7869..688ccc72c8e 100644 --- a/sdk/python/pulumi_aws/rds/cluster_parameter_group.py +++ b/sdk/python/pulumi_aws/rds/cluster_parameter_group.py @@ -25,11 +25,11 @@ def __init__(__self__, *, """ The set of arguments for constructing a ClusterParameterGroup resource. :param pulumi.Input[str] family: The family of the DB cluster parameter group. - :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by TODO". :param pulumi.Input[str] name: The name of the DB parameter. :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`. :param pulumi.Input[Sequence[pulumi.Input['ClusterParameterGroupParameterArgs']]] parameters: A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "family", family) if description is None: @@ -61,7 +61,7 @@ def family(self, value: pulumi.Input[str]): @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ - The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + The description of the DB cluster parameter group. Defaults to "Managed by TODO". """ return pulumi.get(self, "description") @@ -109,7 +109,7 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Cluster @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -132,12 +132,12 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ClusterParameterGroup resources. :param pulumi.Input[str] arn: The ARN of the db cluster parameter group. - :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by TODO". :param pulumi.Input[str] family: The family of the DB cluster parameter group. :param pulumi.Input[str] name: The name of the DB parameter. :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`. :param pulumi.Input[Sequence[pulumi.Input['ClusterParameterGroupParameterArgs']]] parameters: A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: @@ -175,7 +175,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ - The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + The description of the DB cluster parameter group. Defaults to "Managed by TODO". """ return pulumi.get(self, "description") @@ -235,7 +235,7 @@ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Cluster @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -297,20 +297,20 @@ def __init__(__self__, ## Import - Using `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example: + In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import { - ```sh - $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1 - ``` + to = aws_rds_cluster_parameter_group.cluster_pg + + id = "production-pg-1" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by TODO". :param pulumi.Input[str] family: The family of the DB cluster parameter group. :param pulumi.Input[str] name: The name of the DB parameter. :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParameterGroupParameterArgs']]]] parameters: A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -347,11 +347,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import RDS Cluster Parameter Groups using the `name`. For example: + In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For exampleterraform import { - ```sh - $ pulumi import aws:rds/clusterParameterGroup:ClusterParameterGroup cluster_pg production-pg-1 - ``` + to = aws_rds_cluster_parameter_group.cluster_pg + + id = "production-pg-1" } Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For exampleconsole % TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1 :param str resource_name: The name of the resource. :param ClusterParameterGroupArgs args: The arguments to use to populate this resource's properties. @@ -421,12 +421,12 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The ARN of the db cluster parameter group. - :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + :param pulumi.Input[str] description: The description of the DB cluster parameter group. Defaults to "Managed by TODO". :param pulumi.Input[str] family: The family of the DB cluster parameter group. :param pulumi.Input[str] name: The name of the DB parameter. :param pulumi.Input[str] name_prefix: Creates a unique name beginning with the specified prefix. Conflicts with `name`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterParameterGroupParameterArgs']]]] parameters: A list of DB parameters to apply. Note that parameters may differ from a family to an other. Full list of all parameters can be discovered via [`aws rds describe-db-cluster-parameters`](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) after initial creation of the group. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -455,7 +455,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter def description(self) -> pulumi.Output[str]: """ - The description of the DB cluster parameter group. Defaults to "Managed by Pulumi". + The description of the DB cluster parameter group. Defaults to "Managed by TODO". """ return pulumi.get(self, "description") @@ -495,7 +495,7 @@ def parameters(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterParamete @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/rds/instance_automated_backups_replication.py b/sdk/python/pulumi_aws/rds/instance_automated_backups_replication.py index 11561397fa3..d42124db990 100644 --- a/sdk/python/pulumi_aws/rds/instance_automated_backups_replication.py +++ b/sdk/python/pulumi_aws/rds/instance_automated_backups_replication.py @@ -221,11 +221,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import { - ```sh - $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my - ``` + to = aws_db_instance_automated_backups_replication.default + + id = "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -297,11 +297,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For exampleterraform import { - ```sh - $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my - ``` + to = aws_db_instance_automated_backups_replication.default + + id = "arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" } Using `TODO import`, import RDS instance automated backups replication using the `arn`. For exampleconsole % TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my :param str resource_name: The name of the resource. :param InstanceAutomatedBackupsReplicationArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/route53/resolver_firewall_config.py b/sdk/python/pulumi_aws/route53/resolver_firewall_config.py index 9d65931f412..5ff9c2fb69c 100644 --- a/sdk/python/pulumi_aws/route53/resolver_firewall_config.py +++ b/sdk/python/pulumi_aws/route53/resolver_firewall_config.py @@ -134,11 +134,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95 - ``` + to = aws_route53_resolver_firewall_config.example + + id = "rdsc-be1866ecc1683e95" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -171,11 +171,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallConfig:ResolverFirewallConfig example rdsc-be1866ecc1683e95 - ``` + to = aws_route53_resolver_firewall_config.example + + id = "rdsc-be1866ecc1683e95" } Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For exampleconsole % TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95 :param str resource_name: The name of the resource. :param ResolverFirewallConfigArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/route53/resolver_firewall_domain_list.py b/sdk/python/pulumi_aws/route53/resolver_firewall_domain_list.py index e6a6139c9b5..7c26ad9b5b4 100644 --- a/sdk/python/pulumi_aws/route53/resolver_firewall_domain_list.py +++ b/sdk/python/pulumi_aws/route53/resolver_firewall_domain_list.py @@ -21,7 +21,7 @@ def __init__(__self__, *, The set of arguments for constructing a ResolverFirewallDomainList resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: A array of domains for the firewall domain list. :param pulumi.Input[str] name: A name that lets you identify the domain list, to manage and use it. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if domains is not None: pulumi.set(__self__, "domains", domains) @@ -58,7 +58,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. f 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") @@ -80,7 +80,7 @@ def __init__(__self__, *, :param pulumi.Input[str] arn: The ARN (Amazon Resource Name) of the domain list. :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: A array of domains for the firewall domain list. :param pulumi.Input[str] name: A name that lets you identify the domain list, to manage and use it. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. f 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: @@ -134,7 +134,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. f 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") @@ -178,19 +178,21 @@ def __init__(__self__, ## Import - Using `pulumi import`, import + In TODO v1.5.0 and later, use an `import` block to import - Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example: + Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_domain_list.example + + id = "rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + + Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: A array of domains for the firewall domain list. :param pulumi.Input[str] name: A name that lets you identify the domain list, to manage and use it. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. f configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -212,13 +214,15 @@ def __init__(__self__, ## Import - Using `pulumi import`, import + In TODO v1.5.0 and later, use an `import` block to import - Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example: + Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList example rslvr-fdl-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_domain_list.example + + id = "rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + + Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For exampleconsole % TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef :param str resource_name: The name of the resource. :param ResolverFirewallDomainListArgs args: The arguments to use to populate this resource's properties. @@ -277,7 +281,7 @@ def get(resource_name: str, :param pulumi.Input[str] arn: The ARN (Amazon Resource Name) of the domain list. :param pulumi.Input[Sequence[pulumi.Input[str]]] domains: A array of domains for the firewall domain list. :param pulumi.Input[str] name: A name that lets you identify the domain list, to manage and use it. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. f 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)) @@ -319,7 +323,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. f 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") diff --git a/sdk/python/pulumi_aws/route53/resolver_firewall_rule.py b/sdk/python/pulumi_aws/route53/resolver_firewall_rule.py index 14205200d81..02fdef62aa8 100644 --- a/sdk/python/pulumi_aws/route53/resolver_firewall_rule.py +++ b/sdk/python/pulumi_aws/route53/resolver_firewall_rule.py @@ -352,13 +352,15 @@ def __init__(__self__, ## Import - Using `pulumi import`, import + In TODO v1.5.0 and later, use an `import` block to import - Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example: + Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_rule.example + + id = "rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + + Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -404,13 +406,15 @@ def __init__(__self__, ## Import - Using `pulumi import`, import + In TODO v1.5.0 and later, use an `import` block to import - Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example: + Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallRule:ResolverFirewallRule example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_rule.example + + id = "rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" } Using `TODO import`, import + + Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For exampleconsole % TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef :param str resource_name: The name of the resource. :param ResolverFirewallRuleArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group.py b/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group.py index 7d1a926c22f..ddd147d8495 100644 --- a/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group.py +++ b/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group.py @@ -19,7 +19,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a ResolverFirewallRuleGroup resource. :param pulumi.Input[str] name: A name that lets you identify the rule group, to manage and use it. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 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. """ if name is not None: pulumi.set(__self__, "name", name) @@ -42,7 +42,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -66,7 +66,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: A name that lets you identify the rule group, to manage and use it. :param pulumi.Input[str] owner_id: The AWS account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you. :param pulumi.Input[str] share_status: Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM). Valid values: `NOT_SHARED`, `SHARED_BY_ME`, `SHARED_WITH_ME` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if arn is not None: @@ -134,7 +134,7 @@ def share_status(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @@ -177,18 +177,20 @@ def __init__(__self__, ## Import - Using `pulumi import`, import + In TODO v1.5.0 and later, use an `import` block to import - Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example: + Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_rule_group.example + + id = "rslvr-frg-0123456789abcdef" } Using `TODO import`, import + + Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] name: A name that lets you identify the rule group, to manage and use it. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ ... @overload @@ -210,13 +212,15 @@ def __init__(__self__, ## Import - Using `pulumi import`, import + In TODO v1.5.0 and later, use an `import` block to import - Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example: + Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup example rslvr-frg-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_rule_group.example + + id = "rslvr-frg-0123456789abcdef" } Using `TODO import`, import + + Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef :param str resource_name: The name of the resource. :param ResolverFirewallRuleGroupArgs args: The arguments to use to populate this resource's properties. @@ -277,7 +281,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: A name that lets you identify the rule group, to manage and use it. :param pulumi.Input[str] owner_id: The AWS account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you. :param pulumi.Input[str] share_status: Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM). Valid values: `NOT_SHARED`, `SHARED_BY_ME`, `SHARED_WITH_ME` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -328,7 +332,7 @@ def share_status(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group_association.py b/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group_association.py index 6e9ea2e0551..f3d18d46215 100644 --- a/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group_association.py +++ b/sdk/python/pulumi_aws/route53/resolver_firewall_rule_group_association.py @@ -27,7 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[str] vpc_id: The unique identifier of the VPC that you want to associate with the rule group. :param pulumi.Input[str] mutation_protection: If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. Valid values: `ENABLED`, `DISABLED`. :param pulumi.Input[str] name: A name that lets you identify the rule group association, to manage and use it. - :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: 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. """ pulumi.set(__self__, "firewall_rule_group_id", firewall_rule_group_id) pulumi.set(__self__, "priority", priority) @@ -103,7 +103,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @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. + 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") @@ -130,7 +130,7 @@ def __init__(__self__, *, :param pulumi.Input[str] mutation_protection: If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. Valid values: `ENABLED`, `DISABLED`. :param pulumi.Input[str] name: A name that lets you identify the rule group association, to manage and use it. :param pulumi.Input[int] priority: The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. - :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: 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. :param pulumi.Input[str] vpc_id: The unique identifier of the VPC that you want to associate with the rule group. """ @@ -215,7 +215,7 @@ def priority(self, value: Optional[pulumi.Input[int]]): @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. + 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") @@ -278,11 +278,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_rule_group_association.example + + id = "rslvr-frgassoc-0123456789abcdef" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -290,7 +290,7 @@ def __init__(__self__, :param pulumi.Input[str] mutation_protection: If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. Valid values: `ENABLED`, `DISABLED`. :param pulumi.Input[str] name: A name that lets you identify the rule group association, to manage and use it. :param pulumi.Input[int] priority: The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. - :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: 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[str] vpc_id: The unique identifier of the VPC that you want to associate with the rule group. """ ... @@ -317,11 +317,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleterraform import { - ```sh - $ pulumi import aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation example rslvr-frgassoc-0123456789abcdef - ``` + to = aws_route53_resolver_firewall_rule_group_association.example + + id = "rslvr-frgassoc-0123456789abcdef" } Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For exampleconsole % TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef :param str resource_name: The name of the resource. :param ResolverFirewallRuleGroupAssociationArgs args: The arguments to use to populate this resource's properties. @@ -397,7 +397,7 @@ def get(resource_name: str, :param pulumi.Input[str] mutation_protection: If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. Valid values: `ENABLED`, `DISABLED`. :param pulumi.Input[str] name: A name that lets you identify the rule group association, to manage and use it. :param pulumi.Input[int] priority: The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting. - :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: 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. :param pulumi.Input[str] vpc_id: The unique identifier of the VPC that you want to associate with the rule group. """ @@ -459,7 +459,7 @@ def priority(self) -> pulumi.Output[int]: @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. + 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") diff --git a/sdk/python/pulumi_aws/s3/get_objects.py b/sdk/python/pulumi_aws/s3/get_objects.py index 10eb6283a52..6e077483628 100644 --- a/sdk/python/pulumi_aws/s3/get_objects.py +++ b/sdk/python/pulumi_aws/s3/get_objects.py @@ -21,7 +21,7 @@ class GetObjectsResult: """ A collection of values returned by getObjects. """ - def __init__(__self__, bucket=None, common_prefixes=None, delimiter=None, encoding_type=None, fetch_owner=None, id=None, keys=None, max_keys=None, owners=None, prefix=None, start_after=None): + def __init__(__self__, bucket=None, common_prefixes=None, delimiter=None, encoding_type=None, fetch_owner=None, id=None, keys=None, max_keys=None, owners=None, prefix=None, request_charged=None, request_payer=None, start_after=None): if bucket and not isinstance(bucket, str): raise TypeError("Expected argument 'bucket' to be a str") pulumi.set(__self__, "bucket", bucket) @@ -52,6 +52,12 @@ def __init__(__self__, bucket=None, common_prefixes=None, delimiter=None, encodi if prefix and not isinstance(prefix, str): raise TypeError("Expected argument 'prefix' to be a str") pulumi.set(__self__, "prefix", prefix) + if request_charged and not isinstance(request_charged, str): + raise TypeError("Expected argument 'request_charged' to be a str") + pulumi.set(__self__, "request_charged", request_charged) + if request_payer and not isinstance(request_payer, str): + raise TypeError("Expected argument 'request_payer' to be a str") + pulumi.set(__self__, "request_payer", request_payer) if start_after and not isinstance(start_after, str): raise TypeError("Expected argument 'start_after' to be a str") pulumi.set(__self__, "start_after", start_after) @@ -118,6 +124,19 @@ def owners(self) -> Sequence[str]: def prefix(self) -> Optional[str]: return pulumi.get(self, "prefix") + @property + @pulumi.getter(name="requestCharged") + def request_charged(self) -> str: + """ + If present, indicates that the requester was successfully charged for the request. + """ + return pulumi.get(self, "request_charged") + + @property + @pulumi.getter(name="requestPayer") + def request_payer(self) -> Optional[str]: + return pulumi.get(self, "request_payer") + @property @pulumi.getter(name="startAfter") def start_after(self) -> Optional[str]: @@ -140,6 +159,8 @@ def __await__(self): max_keys=self.max_keys, owners=self.owners, prefix=self.prefix, + request_charged=self.request_charged, + request_payer=self.request_payer, start_after=self.start_after) @@ -149,6 +170,7 @@ def get_objects(bucket: Optional[str] = None, fetch_owner: Optional[bool] = None, max_keys: Optional[int] = None, prefix: Optional[str] = None, + request_payer: Optional[str] = None, start_after: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetObjectsResult: """ @@ -163,6 +185,7 @@ def get_objects(bucket: Optional[str] = None, :param bool fetch_owner: Boolean specifying whether to populate the owner list (Default: false) :param int max_keys: Maximum object keys to return (Default: 1000) :param str prefix: Limits results to object keys with this prefix (Default: none) + :param str request_payer: Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. :param str start_after: Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) """ __args__ = dict() @@ -172,6 +195,7 @@ def get_objects(bucket: Optional[str] = None, __args__['fetchOwner'] = fetch_owner __args__['maxKeys'] = max_keys __args__['prefix'] = prefix + __args__['requestPayer'] = request_payer __args__['startAfter'] = start_after opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws:s3/getObjects:getObjects', __args__, opts=opts, typ=GetObjectsResult).value @@ -187,6 +211,8 @@ def get_objects(bucket: Optional[str] = None, max_keys=pulumi.get(__ret__, 'max_keys'), owners=pulumi.get(__ret__, 'owners'), prefix=pulumi.get(__ret__, 'prefix'), + request_charged=pulumi.get(__ret__, 'request_charged'), + request_payer=pulumi.get(__ret__, 'request_payer'), start_after=pulumi.get(__ret__, 'start_after')) @@ -197,6 +223,7 @@ def get_objects_output(bucket: Optional[pulumi.Input[str]] = None, fetch_owner: Optional[pulumi.Input[Optional[bool]]] = None, max_keys: Optional[pulumi.Input[Optional[int]]] = None, prefix: Optional[pulumi.Input[Optional[str]]] = None, + request_payer: Optional[pulumi.Input[Optional[str]]] = None, start_after: Optional[pulumi.Input[Optional[str]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetObjectsResult]: """ @@ -211,6 +238,7 @@ def get_objects_output(bucket: Optional[pulumi.Input[str]] = None, :param bool fetch_owner: Boolean specifying whether to populate the owner list (Default: false) :param int max_keys: Maximum object keys to return (Default: 1000) :param str prefix: Limits results to object keys with this prefix (Default: none) + :param str request_payer: Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If included, the only valid value is `requester`. :param str start_after: Returns key names lexicographically after a specific object key in your bucket (Default: none; S3 lists object keys in UTF-8 character encoding in lexicographical order) """ ... diff --git a/sdk/python/pulumi_aws/s3control/object_lambda_access_point.py b/sdk/python/pulumi_aws/s3control/object_lambda_access_point.py index 8cbc4255794..7742ea4d910 100644 --- a/sdk/python/pulumi_aws/s3control/object_lambda_access_point.py +++ b/sdk/python/pulumi_aws/s3control/object_lambda_access_point.py @@ -72,18 +72,22 @@ def name(self, value: Optional[pulumi.Input[str]]): class _ObjectLambdaAccessPointState: def __init__(__self__, *, account_id: Optional[pulumi.Input[str]] = None, + alias: Optional[pulumi.Input[str]] = None, arn: Optional[pulumi.Input[str]] = None, configuration: Optional[pulumi.Input['ObjectLambdaAccessPointConfigurationArgs']] = None, name: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ObjectLambdaAccessPoint resources. :param pulumi.Input[str] account_id: The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. + :param pulumi.Input[str] alias: Alias for the S3 Object Lambda Access Point. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the Object Lambda Access Point. :param pulumi.Input['ObjectLambdaAccessPointConfigurationArgs'] configuration: A configuration block containing details about the Object Lambda Access Point. See Configuration below for more details. :param pulumi.Input[str] name: The name for this Object Lambda Access Point. """ if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if alias is not None: + pulumi.set(__self__, "alias", alias) if arn is not None: pulumi.set(__self__, "arn", arn) if configuration is not None: @@ -103,6 +107,18 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def alias(self) -> Optional[pulumi.Input[str]]: + """ + Alias for the S3 Object Lambda Access Point. + """ + return pulumi.get(self, "alias") + + @alias.setter + def alias(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "alias", value) + @property @pulumi.getter def arn(self) -> Optional[pulumi.Input[str]]: @@ -259,6 +275,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'configuration'") __props__.__dict__["configuration"] = configuration __props__.__dict__["name"] = name + __props__.__dict__["alias"] = None __props__.__dict__["arn"] = None super(ObjectLambdaAccessPoint, __self__).__init__( 'aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint', @@ -271,6 +288,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + alias: Optional[pulumi.Input[str]] = None, arn: Optional[pulumi.Input[str]] = None, configuration: Optional[pulumi.Input[pulumi.InputType['ObjectLambdaAccessPointConfigurationArgs']]] = None, name: Optional[pulumi.Input[str]] = None) -> 'ObjectLambdaAccessPoint': @@ -282,6 +300,7 @@ def get(resource_name: str, :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] account_id: The AWS account ID for the owner of the bucket for which you want to create an Object Lambda Access Point. Defaults to automatically determined account ID of the AWS provider. + :param pulumi.Input[str] alias: Alias for the S3 Object Lambda Access Point. :param pulumi.Input[str] arn: Amazon Resource Name (ARN) of the Object Lambda Access Point. :param pulumi.Input[pulumi.InputType['ObjectLambdaAccessPointConfigurationArgs']] configuration: A configuration block containing details about the Object Lambda Access Point. See Configuration below for more details. :param pulumi.Input[str] name: The name for this Object Lambda Access Point. @@ -291,6 +310,7 @@ def get(resource_name: str, __props__ = _ObjectLambdaAccessPointState.__new__(_ObjectLambdaAccessPointState) __props__.__dict__["account_id"] = account_id + __props__.__dict__["alias"] = alias __props__.__dict__["arn"] = arn __props__.__dict__["configuration"] = configuration __props__.__dict__["name"] = name @@ -304,6 +324,14 @@ def account_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "account_id") + @property + @pulumi.getter + def alias(self) -> pulumi.Output[str]: + """ + Alias for the S3 Object Lambda Access Point. + """ + return pulumi.get(self, "alias") + @property @pulumi.getter def arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/securityhub/account.py b/sdk/python/pulumi_aws/securityhub/account.py index 8e6d60dbba8..5ae9a4dfe89 100644 --- a/sdk/python/pulumi_aws/securityhub/account.py +++ b/sdk/python/pulumi_aws/securityhub/account.py @@ -164,11 +164,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/account:Account example 123456789012 - ``` + to = aws_securityhub_account.example + + id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -198,11 +198,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/account:Account example 123456789012 - ``` + to = aws_securityhub_account.example + + id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_account.example 123456789012 :param str resource_name: The name of the resource. :param AccountArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/securityhub/finding_aggregator.py b/sdk/python/pulumi_aws/securityhub/finding_aggregator.py index fd24f54e938..50e39a4a7b2 100644 --- a/sdk/python/pulumi_aws/securityhub/finding_aggregator.py +++ b/sdk/python/pulumi_aws/securityhub/finding_aggregator.py @@ -151,11 +151,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 - ``` + to = aws_securityhub_finding_aggregator.example + + id = "arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -221,11 +221,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import an existing Security Hub finding aggregator using the `arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/findingAggregator:FindingAggregator example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 - ``` + to = aws_securityhub_finding_aggregator.example + + id = "arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" } Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For exampleconsole % TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456 :param str resource_name: The name of the resource. :param FindingAggregatorArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/securityhub/invite_accepter.py b/sdk/python/pulumi_aws/securityhub/invite_accepter.py index c4d1249ce7a..f5db65638ae 100644 --- a/sdk/python/pulumi_aws/securityhub/invite_accepter.py +++ b/sdk/python/pulumi_aws/securityhub/invite_accepter.py @@ -105,11 +105,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012 - ``` + to = aws_securityhub_invite_accepter.example + + id = "123456789012" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -145,11 +145,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/inviteAccepter:InviteAccepter example 123456789012 - ``` + to = aws_securityhub_invite_accepter.example + + id = "123456789012" } Using `TODO import`, import Security Hub invite acceptance using the account ID. For exampleconsole % TODO import aws_securityhub_invite_accepter.example 123456789012 :param str resource_name: The name of the resource. :param InviteAccepterArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/securityhub/member.py b/sdk/python/pulumi_aws/securityhub/member.py index d2361776640..68bbd57639a 100644 --- a/sdk/python/pulumi_aws/securityhub/member.py +++ b/sdk/python/pulumi_aws/securityhub/member.py @@ -182,11 +182,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub members using their account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/member:Member example 123456789012 - ``` + to = aws_securityhub_member.example + + id = "123456789012" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -219,11 +219,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub members using their account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/member:Member example 123456789012 - ``` + to = aws_securityhub_member.example + + id = "123456789012" } Using `TODO import`, import Security Hub members using their account ID. For exampleconsole % TODO import aws_securityhub_member.example 123456789012 :param str resource_name: The name of the resource. :param MemberArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/securityhub/organization_configuration.py b/sdk/python/pulumi_aws/securityhub/organization_configuration.py index 17340c66c06..e24d821dd13 100644 --- a/sdk/python/pulumi_aws/securityhub/organization_configuration.py +++ b/sdk/python/pulumi_aws/securityhub/organization_configuration.py @@ -101,9 +101,9 @@ def __init__(__self__, """ Manages the Security Hub Organization Configuration. - > **NOTE:** This resource requires an `securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation + > **NOTE:** This resource requires an `securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation - > **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration. + > **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration. ## Example Usage @@ -121,11 +121,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012 - ``` + to = aws_securityhub_organization_configuration.example + + id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -141,9 +141,9 @@ def __init__(__self__, """ Manages the Security Hub Organization Configuration. - > **NOTE:** This resource requires an `securityhub.OrganizationAdminAccount` to be configured (not necessarily with this provider). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation + > **NOTE:** This resource requires an `securityhub.OrganizationAdminAccount` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation - > **NOTE:** This is an advanced resource. This provider will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the configuration. + > **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration. ## Example Usage @@ -161,11 +161,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example: + In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/organizationConfiguration:OrganizationConfiguration example 123456789012 - ``` + to = aws_securityhub_organization_configuration.example + + id = "123456789012" } Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For exampleconsole % TODO import aws_securityhub_organization_configuration.example 123456789012 :param str resource_name: The name of the resource. :param OrganizationConfigurationArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/securityhub/product_subscription.py b/sdk/python/pulumi_aws/securityhub/product_subscription.py index 0d409c95dc4..80dc259cf76 100644 --- a/sdk/python/pulumi_aws/securityhub/product_subscription.py +++ b/sdk/python/pulumi_aws/securityhub/product_subscription.py @@ -250,11 +250,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement - ``` + to = aws_securityhub_product_subscription.example + + id = "arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -321,11 +321,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/productSubscription:ProductSubscription example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement - ``` + to = aws_securityhub_product_subscription.example + + id = "arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" } Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For exampleconsole % TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement :param str resource_name: The name of the resource. :param ProductSubscriptionArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/securityhub/standards_control.py b/sdk/python/pulumi_aws/securityhub/standards_control.py index 9c5e8406a38..f51196845a6 100644 --- a/sdk/python/pulumi_aws/securityhub/standards_control.py +++ b/sdk/python/pulumi_aws/securityhub/standards_control.py @@ -246,8 +246,8 @@ def __init__(__self__, Disable/enable Security Hub standards control in the current region. The `securityhub.StandardsControl` behaves differently from normal resources, in that - The provider does not _create_ this resource, but instead "adopts" it - into management. When you _delete_ this resource configuration, the provider "abandons" resource as is and just removes it from the state. + TODO does not _create_ this resource, but instead "adopts" it + into management. When you _delete_ this resource configuration, TODO "abandons" resource as is and just removes it from the state. ## Example Usage @@ -281,8 +281,8 @@ def __init__(__self__, Disable/enable Security Hub standards control in the current region. The `securityhub.StandardsControl` behaves differently from normal resources, in that - The provider does not _create_ this resource, but instead "adopts" it - into management. When you _delete_ this resource configuration, the provider "abandons" resource as is and just removes it from the state. + TODO does not _create_ this resource, but instead "adopts" it + into management. When you _delete_ this resource configuration, TODO "abandons" resource as is and just removes it from the state. ## Example Usage diff --git a/sdk/python/pulumi_aws/securityhub/standards_subscription.py b/sdk/python/pulumi_aws/securityhub/standards_subscription.py index bb059ad0daa..5106ce3eed9 100644 --- a/sdk/python/pulumi_aws/securityhub/standards_subscription.py +++ b/sdk/python/pulumi_aws/securityhub/standards_subscription.py @@ -124,17 +124,19 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 - ``` - ```sh - $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 - ``` - ```sh - $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 - ``` + to = aws_securityhub_standards_subscription.cis + + id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" } terraform import { + + to = aws_securityhub_standards_subscription.pci_321 + + id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" } terraform import { + + to = aws_securityhub_standards_subscription.nist_800_53_rev_5 + + id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -175,17 +177,19 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Security Hub standards subscriptions using the standards subscription ARN. For example: + In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For exampleterraform import { - ```sh - $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 - ``` - ```sh - $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 - ``` - ```sh - $ pulumi import aws:securityhub/standardsSubscription:StandardsSubscription nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 - ``` + to = aws_securityhub_standards_subscription.cis + + id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" } terraform import { + + to = aws_securityhub_standards_subscription.pci_321 + + id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" } terraform import { + + to = aws_securityhub_standards_subscription.nist_800_53_rev_5 + + id = "arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" } Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For exampleconsole % TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0 console % TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1 console % TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 :param str resource_name: The name of the resource. :param StandardsSubscriptionArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/servicecatalog/principal_portfolio_association.py b/sdk/python/pulumi_aws/servicecatalog/principal_portfolio_association.py index ddd610e196b..4a0e9e386a4 100644 --- a/sdk/python/pulumi_aws/servicecatalog/principal_portfolio_association.py +++ b/sdk/python/pulumi_aws/servicecatalog/principal_portfolio_association.py @@ -25,7 +25,7 @@ def __init__(__self__, *, The following arguments are optional: :param pulumi.Input[str] accept_language: Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. - :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ pulumi.set(__self__, "portfolio_id", portfolio_id) pulumi.set(__self__, "principal_arn", principal_arn) @@ -76,7 +76,7 @@ def accept_language(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="principalType") def principal_type(self) -> Optional[pulumi.Input[str]]: """ - Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ return pulumi.get(self, "principal_type") @@ -99,7 +99,7 @@ def __init__(__self__, *, :param pulumi.Input[str] principal_arn: Principal ARN. The following arguments are optional: - :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ if accept_language is not None: pulumi.set(__self__, "accept_language", accept_language) @@ -152,7 +152,7 @@ def principal_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="principalType") def principal_type(self) -> Optional[pulumi.Input[str]]: """ - Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ return pulumi.get(self, "principal_type") @@ -188,10 +188,12 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: + + Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: ```sh - $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f + $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM ``` :param str resource_name: The name of the resource. @@ -201,7 +203,7 @@ def __init__(__self__, :param pulumi.Input[str] principal_arn: Principal ARN. The following arguments are optional: - :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ ... @overload @@ -226,10 +228,12 @@ def __init__(__self__, ## Import - Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example: + In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: + + Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: ```sh - $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f + $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM ``` :param str resource_name: The name of the resource. @@ -294,7 +298,7 @@ def get(resource_name: str, :param pulumi.Input[str] principal_arn: Principal ARN. The following arguments are optional: - :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + :param pulumi.Input[str] principal_type: Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -336,7 +340,7 @@ def principal_arn(self) -> pulumi.Output[str]: @pulumi.getter(name="principalType") def principal_type(self) -> pulumi.Output[Optional[str]]: """ - Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid value is `IAM`. Default is `IAM`. + Principal type. Setting this argument empty (e.g., `principal_type = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. """ return pulumi.get(self, "principal_type") diff --git a/sdk/python/pulumi_aws/ses/identity_notification_topic.py b/sdk/python/pulumi_aws/ses/identity_notification_topic.py index 39e7801cf95..75222ee171b 100644 --- a/sdk/python/pulumi_aws/ses/identity_notification_topic.py +++ b/sdk/python/pulumi_aws/ses/identity_notification_topic.py @@ -181,11 +181,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example: + In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import { - ```sh - $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce' - ``` + to = aws_ses_identity_notification_topic.test + + id = "example.com|Bounce" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -218,11 +218,11 @@ def __init__(__self__, ## Import - Using `pulumi import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example: + In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleterraform import { - ```sh - $ pulumi import aws:ses/identityNotificationTopic:IdentityNotificationTopic test 'example.com|Bounce' - ``` + to = aws_ses_identity_notification_topic.test + + id = "example.com|Bounce" } Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For exampleconsole % TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce' :param str resource_name: The name of the resource. :param IdentityNotificationTopicArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws/shield/__init__.py b/sdk/python/pulumi_aws/shield/__init__.py index f2ac4c3eb59..7e8dae95e5f 100644 --- a/sdk/python/pulumi_aws/shield/__init__.py +++ b/sdk/python/pulumi_aws/shield/__init__.py @@ -5,6 +5,10 @@ from .. import _utilities import typing # Export this package's modules as members: +from .drt_access_log_bucket_association import * +from .drt_access_role_arn_association import * from .protection import * from .protection_group import * from .protection_health_check_association import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/shield/_inputs.py b/sdk/python/pulumi_aws/shield/_inputs.py new file mode 100644 index 00000000000..cd1aeb7c1c0 --- /dev/null +++ b/sdk/python/pulumi_aws/shield/_inputs.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'DrtAccessLogBucketAssociationTimeoutsArgs', + 'DrtAccessRoleArnAssociationTimeoutsArgs', +] + +@pulumi.input_type +class DrtAccessLogBucketAssociationTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + read: Optional[pulumi.Input[str]] = None): + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + 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]]: + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def read(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "read") + + @read.setter + def read(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "read", value) + + +@pulumi.input_type +class DrtAccessRoleArnAssociationTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + read: Optional[pulumi.Input[str]] = None): + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + 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]]: + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def read(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "read") + + @read.setter + def read(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "read", value) + + diff --git a/sdk/python/pulumi_aws/shield/drt_access_log_bucket_association.py b/sdk/python/pulumi_aws/shield/drt_access_log_bucket_association.py new file mode 100644 index 00000000000..99e64de2cca --- /dev/null +++ b/sdk/python/pulumi_aws/shield/drt_access_log_bucket_association.py @@ -0,0 +1,256 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DrtAccessLogBucketAssociationArgs', 'DrtAccessLogBucketAssociation'] + +@pulumi.input_type +class DrtAccessLogBucketAssociationArgs: + def __init__(__self__, *, + log_bucket: pulumi.Input[str], + role_arn_association_id: pulumi.Input[str], + timeouts: Optional[pulumi.Input['DrtAccessLogBucketAssociationTimeoutsArgs']] = None): + """ + The set of arguments for constructing a DrtAccessLogBucketAssociation resource. + :param pulumi.Input[str] log_bucket: The Amazon S3 bucket that contains the logs that you want to share. + :param pulumi.Input[str] role_arn_association_id: The ID of the Role Arn association used for allowing Shield DRT Access. + """ + pulumi.set(__self__, "log_bucket", log_bucket) + pulumi.set(__self__, "role_arn_association_id", role_arn_association_id) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="logBucket") + def log_bucket(self) -> pulumi.Input[str]: + """ + The Amazon S3 bucket that contains the logs that you want to share. + """ + return pulumi.get(self, "log_bucket") + + @log_bucket.setter + def log_bucket(self, value: pulumi.Input[str]): + pulumi.set(self, "log_bucket", value) + + @property + @pulumi.getter(name="roleArnAssociationId") + def role_arn_association_id(self) -> pulumi.Input[str]: + """ + The ID of the Role Arn association used for allowing Shield DRT Access. + """ + return pulumi.get(self, "role_arn_association_id") + + @role_arn_association_id.setter + def role_arn_association_id(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn_association_id", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['DrtAccessLogBucketAssociationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['DrtAccessLogBucketAssociationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _DrtAccessLogBucketAssociationState: + def __init__(__self__, *, + log_bucket: Optional[pulumi.Input[str]] = None, + role_arn_association_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input['DrtAccessLogBucketAssociationTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering DrtAccessLogBucketAssociation resources. + :param pulumi.Input[str] log_bucket: The Amazon S3 bucket that contains the logs that you want to share. + :param pulumi.Input[str] role_arn_association_id: The ID of the Role Arn association used for allowing Shield DRT Access. + """ + if log_bucket is not None: + pulumi.set(__self__, "log_bucket", log_bucket) + if role_arn_association_id is not None: + pulumi.set(__self__, "role_arn_association_id", role_arn_association_id) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="logBucket") + def log_bucket(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon S3 bucket that contains the logs that you want to share. + """ + return pulumi.get(self, "log_bucket") + + @log_bucket.setter + def log_bucket(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_bucket", value) + + @property + @pulumi.getter(name="roleArnAssociationId") + def role_arn_association_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Role Arn association used for allowing Shield DRT Access. + """ + return pulumi.get(self, "role_arn_association_id") + + @role_arn_association_id.setter + def role_arn_association_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_arn_association_id", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['DrtAccessLogBucketAssociationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['DrtAccessLogBucketAssociationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class DrtAccessLogBucketAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + log_bucket: Optional[pulumi.Input[str]] = None, + role_arn_association_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['DrtAccessLogBucketAssociationTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT). + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", role_arn=f"arn:aws:iam:{data['aws_region']['current']['name']}:{data['aws_caller_identity']['current']['account_id']}:{var['shield_drt_access_role_name']}") + test_drt_access_log_bucket_association = aws.shield.DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", + log_bucket=var["shield_drt_access_log_bucket"], + role_arn_association_id=test_drt_access_role_arn_association.id) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] log_bucket: The Amazon S3 bucket that contains the logs that you want to share. + :param pulumi.Input[str] role_arn_association_id: The ID of the Role Arn association used for allowing Shield DRT Access. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DrtAccessLogBucketAssociationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Shield DRT Access Log Bucket Association. Up to 10 log buckets can be associated for DRT Access sharing with the Shield Response Team (SRT). + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", role_arn=f"arn:aws:iam:{data['aws_region']['current']['name']}:{data['aws_caller_identity']['current']['account_id']}:{var['shield_drt_access_role_name']}") + test_drt_access_log_bucket_association = aws.shield.DrtAccessLogBucketAssociation("testDrtAccessLogBucketAssociation", + log_bucket=var["shield_drt_access_log_bucket"], + role_arn_association_id=test_drt_access_role_arn_association.id) + ``` + + :param str resource_name: The name of the resource. + :param DrtAccessLogBucketAssociationArgs 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(DrtAccessLogBucketAssociationArgs, 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, + log_bucket: Optional[pulumi.Input[str]] = None, + role_arn_association_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['DrtAccessLogBucketAssociationTimeoutsArgs']]] = 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__ = DrtAccessLogBucketAssociationArgs.__new__(DrtAccessLogBucketAssociationArgs) + + if log_bucket is None and not opts.urn: + raise TypeError("Missing required property 'log_bucket'") + __props__.__dict__["log_bucket"] = log_bucket + if role_arn_association_id is None and not opts.urn: + raise TypeError("Missing required property 'role_arn_association_id'") + __props__.__dict__["role_arn_association_id"] = role_arn_association_id + __props__.__dict__["timeouts"] = timeouts + super(DrtAccessLogBucketAssociation, __self__).__init__( + 'aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + log_bucket: Optional[pulumi.Input[str]] = None, + role_arn_association_id: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['DrtAccessLogBucketAssociationTimeoutsArgs']]] = None) -> 'DrtAccessLogBucketAssociation': + """ + Get an existing DrtAccessLogBucketAssociation 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] log_bucket: The Amazon S3 bucket that contains the logs that you want to share. + :param pulumi.Input[str] role_arn_association_id: The ID of the Role Arn association used for allowing Shield DRT Access. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DrtAccessLogBucketAssociationState.__new__(_DrtAccessLogBucketAssociationState) + + __props__.__dict__["log_bucket"] = log_bucket + __props__.__dict__["role_arn_association_id"] = role_arn_association_id + __props__.__dict__["timeouts"] = timeouts + return DrtAccessLogBucketAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="logBucket") + def log_bucket(self) -> pulumi.Output[str]: + """ + The Amazon S3 bucket that contains the logs that you want to share. + """ + return pulumi.get(self, "log_bucket") + + @property + @pulumi.getter(name="roleArnAssociationId") + def role_arn_association_id(self) -> pulumi.Output[str]: + """ + The ID of the Role Arn association used for allowing Shield DRT Access. + """ + return pulumi.get(self, "role_arn_association_id") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.DrtAccessLogBucketAssociationTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/shield/drt_access_role_arn_association.py b/sdk/python/pulumi_aws/shield/drt_access_role_arn_association.py new file mode 100644 index 00000000000..8273fa3ee99 --- /dev/null +++ b/sdk/python/pulumi_aws/shield/drt_access_role_arn_association.py @@ -0,0 +1,232 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DrtAccessRoleArnAssociationArgs', 'DrtAccessRoleArnAssociation'] + +@pulumi.input_type +class DrtAccessRoleArnAssociationArgs: + def __init__(__self__, *, + role_arn: pulumi.Input[str], + timeouts: Optional[pulumi.Input['DrtAccessRoleArnAssociationTimeoutsArgs']] = None): + """ + The set of arguments for constructing a DrtAccessRoleArnAssociation resource. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + pulumi.set(__self__, "role_arn", role_arn) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['DrtAccessRoleArnAssociationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['DrtAccessRoleArnAssociationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _DrtAccessRoleArnAssociationState: + def __init__(__self__, *, + role_arn: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input['DrtAccessRoleArnAssociationTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering DrtAccessRoleArnAssociation resources. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + if role_arn is not None: + pulumi.set(__self__, "role_arn", role_arn) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['DrtAccessRoleArnAssociationTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['DrtAccessRoleArnAssociationTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class DrtAccessRoleArnAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + role_arn: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['DrtAccessRoleArnAssociationTimeoutsArgs']]] = None, + __props__=None): + """ + Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html) + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + test_role = aws.iam.Role("testRole", assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Sid": "", + "Effect": "Allow", + "Principal": { + "Service": "drt.shield.amazonaws.com", + }, + "Action": "sts:AssumeRole", + }], + })) + test_role_policy_attachment = aws.iam.RolePolicyAttachment("testRolePolicyAttachment", + role=test_role.name, + policy_arn="arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy") + test_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", role_arn=test_role.arn) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DrtAccessRoleArnAssociationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Authorizes the Shield Response Team (SRT) using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. For more information see [Configure AWS SRT Support](https://docs.aws.amazon.com/waf/latest/developerguide/authorize-srt.html) + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + test_role = aws.iam.Role("testRole", assume_role_policy=json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Sid": "", + "Effect": "Allow", + "Principal": { + "Service": "drt.shield.amazonaws.com", + }, + "Action": "sts:AssumeRole", + }], + })) + test_role_policy_attachment = aws.iam.RolePolicyAttachment("testRolePolicyAttachment", + role=test_role.name, + policy_arn="arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy") + test_drt_access_role_arn_association = aws.shield.DrtAccessRoleArnAssociation("testDrtAccessRoleArnAssociation", role_arn=test_role.arn) + ``` + + :param str resource_name: The name of the resource. + :param DrtAccessRoleArnAssociationArgs 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(DrtAccessRoleArnAssociationArgs, 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, + role_arn: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['DrtAccessRoleArnAssociationTimeoutsArgs']]] = 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__ = DrtAccessRoleArnAssociationArgs.__new__(DrtAccessRoleArnAssociationArgs) + + if role_arn is None and not opts.urn: + raise TypeError("Missing required property 'role_arn'") + __props__.__dict__["role_arn"] = role_arn + __props__.__dict__["timeouts"] = timeouts + super(DrtAccessRoleArnAssociation, __self__).__init__( + 'aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + role_arn: Optional[pulumi.Input[str]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['DrtAccessRoleArnAssociationTimeoutsArgs']]] = None) -> 'DrtAccessRoleArnAssociation': + """ + Get an existing DrtAccessRoleArnAssociation 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] role_arn: The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DrtAccessRoleArnAssociationState.__new__(_DrtAccessRoleArnAssociationState) + + __props__.__dict__["role_arn"] = role_arn + __props__.__dict__["timeouts"] = timeouts + return DrtAccessRoleArnAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the role the SRT will use to access your AWS account. Prior to making the AssociateDRTRole request, you must attach the `AWSShieldDRTAccessPolicy` managed policy to this role. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.DrtAccessRoleArnAssociationTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/shield/outputs.py b/sdk/python/pulumi_aws/shield/outputs.py new file mode 100644 index 00000000000..6e9c5353d23 --- /dev/null +++ b/sdk/python/pulumi_aws/shield/outputs.py @@ -0,0 +1,74 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'DrtAccessLogBucketAssociationTimeouts', + 'DrtAccessRoleArnAssociationTimeouts', +] + +@pulumi.output_type +class DrtAccessLogBucketAssociationTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + read: Optional[str] = None): + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def read(self) -> Optional[str]: + return pulumi.get(self, "read") + + +@pulumi.output_type +class DrtAccessRoleArnAssociationTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + read: Optional[str] = None): + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def read(self) -> Optional[str]: + return pulumi.get(self, "read") + + diff --git a/sdk/python/pulumi_aws/ssm/association.py b/sdk/python/pulumi_aws/ssm/association.py index 9baa5a4f3c5..594208569c1 100644 --- a/sdk/python/pulumi_aws/ssm/association.py +++ b/sdk/python/pulumi_aws/ssm/association.py @@ -28,6 +28,7 @@ def __init__(__self__, *, output_location: Optional[pulumi.Input['AssociationOutputLocationArgs']] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, schedule_expression: Optional[pulumi.Input[str]] = None, + sync_compliance: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input['AssociationTargetArgs']]]] = None, wait_for_success_timeout_seconds: Optional[pulumi.Input[int]] = None): """ @@ -44,6 +45,7 @@ def __init__(__self__, *, :param pulumi.Input['AssociationOutputLocationArgs'] output_location: An output location block. Output Location is documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: A block of arbitrary string parameters to pass to the SSM document. :param pulumi.Input[str] schedule_expression: A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. + :param pulumi.Input[str] sync_compliance: The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. :param pulumi.Input[Sequence[pulumi.Input['AssociationTargetArgs']]] targets: A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. :param pulumi.Input[int] wait_for_success_timeout_seconds: The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -76,6 +78,8 @@ def __init__(__self__, *, pulumi.set(__self__, "parameters", parameters) if schedule_expression is not None: pulumi.set(__self__, "schedule_expression", schedule_expression) + if sync_compliance is not None: + pulumi.set(__self__, "sync_compliance", sync_compliance) if targets is not None: pulumi.set(__self__, "targets", targets) if wait_for_success_timeout_seconds is not None: @@ -228,6 +232,18 @@ def schedule_expression(self) -> Optional[pulumi.Input[str]]: def schedule_expression(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "schedule_expression", value) + @property + @pulumi.getter(name="syncCompliance") + def sync_compliance(self) -> Optional[pulumi.Input[str]]: + """ + The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + """ + return pulumi.get(self, "sync_compliance") + + @sync_compliance.setter + def sync_compliance(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sync_compliance", value) + @property @pulumi.getter def targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AssociationTargetArgs']]]]: @@ -272,6 +288,7 @@ def __init__(__self__, *, output_location: Optional[pulumi.Input['AssociationOutputLocationArgs']] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, schedule_expression: Optional[pulumi.Input[str]] = None, + sync_compliance: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input['AssociationTargetArgs']]]] = None, wait_for_success_timeout_seconds: Optional[pulumi.Input[int]] = None): """ @@ -290,6 +307,7 @@ def __init__(__self__, *, :param pulumi.Input['AssociationOutputLocationArgs'] output_location: An output location block. Output Location is documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: A block of arbitrary string parameters to pass to the SSM document. :param pulumi.Input[str] schedule_expression: A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. + :param pulumi.Input[str] sync_compliance: The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. :param pulumi.Input[Sequence[pulumi.Input['AssociationTargetArgs']]] targets: A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. :param pulumi.Input[int] wait_for_success_timeout_seconds: The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -326,6 +344,8 @@ def __init__(__self__, *, pulumi.set(__self__, "parameters", parameters) if schedule_expression is not None: pulumi.set(__self__, "schedule_expression", schedule_expression) + if sync_compliance is not None: + pulumi.set(__self__, "sync_compliance", sync_compliance) if targets is not None: pulumi.set(__self__, "targets", targets) if wait_for_success_timeout_seconds is not None: @@ -502,6 +522,18 @@ def schedule_expression(self) -> Optional[pulumi.Input[str]]: def schedule_expression(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "schedule_expression", value) + @property + @pulumi.getter(name="syncCompliance") + def sync_compliance(self) -> Optional[pulumi.Input[str]]: + """ + The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + """ + return pulumi.get(self, "sync_compliance") + + @sync_compliance.setter + def sync_compliance(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sync_compliance", value) + @property @pulumi.getter def targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AssociationTargetArgs']]]]: @@ -546,6 +578,7 @@ def __init__(__self__, output_location: Optional[pulumi.Input[pulumi.InputType['AssociationOutputLocationArgs']]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, schedule_expression: Optional[pulumi.Input[str]] = None, + sync_compliance: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssociationTargetArgs']]]]] = None, wait_for_success_timeout_seconds: Optional[pulumi.Input[int]] = None, __props__=None): @@ -628,6 +661,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['AssociationOutputLocationArgs']] output_location: An output location block. Output Location is documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: A block of arbitrary string parameters to pass to the SSM document. :param pulumi.Input[str] schedule_expression: A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. + :param pulumi.Input[str] sync_compliance: The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssociationTargetArgs']]]] targets: A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. :param pulumi.Input[int] wait_for_success_timeout_seconds: The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -731,6 +765,7 @@ def _internal_init(__self__, output_location: Optional[pulumi.Input[pulumi.InputType['AssociationOutputLocationArgs']]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, schedule_expression: Optional[pulumi.Input[str]] = None, + sync_compliance: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssociationTargetArgs']]]]] = None, wait_for_success_timeout_seconds: Optional[pulumi.Input[int]] = None, __props__=None): @@ -757,6 +792,7 @@ def _internal_init(__self__, __props__.__dict__["output_location"] = output_location __props__.__dict__["parameters"] = parameters __props__.__dict__["schedule_expression"] = schedule_expression + __props__.__dict__["sync_compliance"] = sync_compliance __props__.__dict__["targets"] = targets __props__.__dict__["wait_for_success_timeout_seconds"] = wait_for_success_timeout_seconds __props__.__dict__["arn"] = None @@ -785,6 +821,7 @@ def get(resource_name: str, output_location: Optional[pulumi.Input[pulumi.InputType['AssociationOutputLocationArgs']]] = None, parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, schedule_expression: Optional[pulumi.Input[str]] = None, + sync_compliance: Optional[pulumi.Input[str]] = None, targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssociationTargetArgs']]]]] = None, wait_for_success_timeout_seconds: Optional[pulumi.Input[int]] = None) -> 'Association': """ @@ -808,6 +845,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['AssociationOutputLocationArgs']] output_location: An output location block. Output Location is documented below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: A block of arbitrary string parameters to pass to the SSM document. :param pulumi.Input[str] schedule_expression: A [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) that specifies when the association runs. + :param pulumi.Input[str] sync_compliance: The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AssociationTargetArgs']]]] targets: A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets. :param pulumi.Input[int] wait_for_success_timeout_seconds: The number of seconds to wait for the association status to be `Success`. If `Success` status is not reached within the given time, create opration will fail. @@ -831,6 +869,7 @@ def get(resource_name: str, __props__.__dict__["output_location"] = output_location __props__.__dict__["parameters"] = parameters __props__.__dict__["schedule_expression"] = schedule_expression + __props__.__dict__["sync_compliance"] = sync_compliance __props__.__dict__["targets"] = targets __props__.__dict__["wait_for_success_timeout_seconds"] = wait_for_success_timeout_seconds return Association(resource_name, opts=opts, __props__=__props__) @@ -950,6 +989,14 @@ def schedule_expression(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "schedule_expression") + @property + @pulumi.getter(name="syncCompliance") + def sync_compliance(self) -> pulumi.Output[Optional[str]]: + """ + The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. + """ + return pulumi.get(self, "sync_compliance") + @property @pulumi.getter def targets(self) -> pulumi.Output[Sequence['outputs.AssociationTarget']]: diff --git a/sdk/python/pulumi_aws/verifiedaccess/__init__.py b/sdk/python/pulumi_aws/verifiedaccess/__init__.py new file mode 100644 index 00000000000..319549a8421 --- /dev/null +++ b/sdk/python/pulumi_aws/verifiedaccess/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .trust_provider import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/verifiedaccess/_inputs.py b/sdk/python/pulumi_aws/verifiedaccess/_inputs.py new file mode 100644 index 00000000000..2ce14a32349 --- /dev/null +++ b/sdk/python/pulumi_aws/verifiedaccess/_inputs.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'TrustProviderDeviceOptionsArgs', + 'TrustProviderOidcOptionsArgs', +] + +@pulumi.input_type +class TrustProviderDeviceOptionsArgs: + def __init__(__self__, *, + tenant_id: Optional[pulumi.Input[str]] = None): + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "tenant_id") + + @tenant_id.setter + def tenant_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tenant_id", value) + + +@pulumi.input_type +class TrustProviderOidcOptionsArgs: + def __init__(__self__, *, + client_secret: pulumi.Input[str], + authorization_endpoint: Optional[pulumi.Input[str]] = None, + client_id: Optional[pulumi.Input[str]] = None, + issuer: Optional[pulumi.Input[str]] = None, + scope: Optional[pulumi.Input[str]] = None, + token_endpoint: Optional[pulumi.Input[str]] = None, + user_info_endpoint: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "client_secret", client_secret) + if authorization_endpoint is not None: + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if issuer is not None: + pulumi.set(__self__, "issuer", issuer) + if scope is not None: + pulumi.set(__self__, "scope", scope) + if token_endpoint is not None: + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_info_endpoint is not None: + pulumi.set(__self__, "user_info_endpoint", user_info_endpoint) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[str]: + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[str]): + pulumi.set(self, "client_secret", value) + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "authorization_endpoint") + + @authorization_endpoint.setter + def authorization_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "authorization_endpoint", value) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "client_id", value) + + @property + @pulumi.getter + def issuer(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "issuer") + + @issuer.setter + def issuer(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "issuer", value) + + @property + @pulumi.getter + def scope(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "scope") + + @scope.setter + def scope(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scope", value) + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "token_endpoint") + + @token_endpoint.setter + def token_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_endpoint", value) + + @property + @pulumi.getter(name="userInfoEndpoint") + def user_info_endpoint(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user_info_endpoint") + + @user_info_endpoint.setter + def user_info_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_info_endpoint", value) + + diff --git a/sdk/python/pulumi_aws/verifiedaccess/outputs.py b/sdk/python/pulumi_aws/verifiedaccess/outputs.py new file mode 100644 index 00000000000..1338e45d508 --- /dev/null +++ b/sdk/python/pulumi_aws/verifiedaccess/outputs.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'TrustProviderDeviceOptions', + 'TrustProviderOidcOptions', +] + +@pulumi.output_type +class TrustProviderDeviceOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tenantId": + suggest = "tenant_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TrustProviderDeviceOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TrustProviderDeviceOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TrustProviderDeviceOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + tenant_id: Optional[str] = None): + if tenant_id is not None: + pulumi.set(__self__, "tenant_id", tenant_id) + + @property + @pulumi.getter(name="tenantId") + def tenant_id(self) -> Optional[str]: + return pulumi.get(self, "tenant_id") + + +@pulumi.output_type +class TrustProviderOidcOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientSecret": + suggest = "client_secret" + elif key == "authorizationEndpoint": + suggest = "authorization_endpoint" + elif key == "clientId": + suggest = "client_id" + elif key == "tokenEndpoint": + suggest = "token_endpoint" + elif key == "userInfoEndpoint": + suggest = "user_info_endpoint" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TrustProviderOidcOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TrustProviderOidcOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TrustProviderOidcOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_secret: str, + authorization_endpoint: Optional[str] = None, + client_id: Optional[str] = None, + issuer: Optional[str] = None, + scope: Optional[str] = None, + token_endpoint: Optional[str] = None, + user_info_endpoint: Optional[str] = None): + pulumi.set(__self__, "client_secret", client_secret) + if authorization_endpoint is not None: + pulumi.set(__self__, "authorization_endpoint", authorization_endpoint) + if client_id is not None: + pulumi.set(__self__, "client_id", client_id) + if issuer is not None: + pulumi.set(__self__, "issuer", issuer) + if scope is not None: + pulumi.set(__self__, "scope", scope) + if token_endpoint is not None: + pulumi.set(__self__, "token_endpoint", token_endpoint) + if user_info_endpoint is not None: + pulumi.set(__self__, "user_info_endpoint", user_info_endpoint) + + @property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> str: + return pulumi.get(self, "client_secret") + + @property + @pulumi.getter(name="authorizationEndpoint") + def authorization_endpoint(self) -> Optional[str]: + return pulumi.get(self, "authorization_endpoint") + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> Optional[str]: + return pulumi.get(self, "client_id") + + @property + @pulumi.getter + def issuer(self) -> Optional[str]: + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def scope(self) -> Optional[str]: + return pulumi.get(self, "scope") + + @property + @pulumi.getter(name="tokenEndpoint") + def token_endpoint(self) -> Optional[str]: + return pulumi.get(self, "token_endpoint") + + @property + @pulumi.getter(name="userInfoEndpoint") + def user_info_endpoint(self) -> Optional[str]: + return pulumi.get(self, "user_info_endpoint") + + diff --git a/sdk/python/pulumi_aws/verifiedaccess/trust_provider.py b/sdk/python/pulumi_aws/verifiedaccess/trust_provider.py new file mode 100644 index 00000000000..10460c5816a --- /dev/null +++ b/sdk/python/pulumi_aws/verifiedaccess/trust_provider.py @@ -0,0 +1,556 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['TrustProviderArgs', 'TrustProvider'] + +@pulumi.input_type +class TrustProviderArgs: + def __init__(__self__, *, + policy_reference_name: pulumi.Input[str], + trust_provider_type: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + device_options: Optional[pulumi.Input['TrustProviderDeviceOptionsArgs']] = None, + device_trust_provider_type: Optional[pulumi.Input[str]] = None, + oidc_options: Optional[pulumi.Input['TrustProviderOidcOptionsArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_trust_provider_type: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a TrustProvider resource. + :param pulumi.Input[str] policy_reference_name: The identifier to be used when working with policy rules. + :param pulumi.Input[str] trust_provider_type: The type of trust provider can be either user or device-based. + + The following arguments are optional: + :param pulumi.Input[str] description: A description for the AWS Verified Access trust provider. + :param pulumi.Input['TrustProviderDeviceOptionsArgs'] device_options: A block of options for device identity based trust providers. + :param pulumi.Input[str] device_trust_provider_type: The type of device-based trust provider. + :param pulumi.Input['TrustProviderOidcOptionsArgs'] oidc_options: The OpenID Connect details for an oidc-type, user-identity based trust provider. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] user_trust_provider_type: The type of user-based trust provider. + """ + pulumi.set(__self__, "policy_reference_name", policy_reference_name) + pulumi.set(__self__, "trust_provider_type", trust_provider_type) + if description is not None: + pulumi.set(__self__, "description", description) + if device_options is not None: + pulumi.set(__self__, "device_options", device_options) + if device_trust_provider_type is not None: + pulumi.set(__self__, "device_trust_provider_type", device_trust_provider_type) + if oidc_options is not None: + pulumi.set(__self__, "oidc_options", oidc_options) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_trust_provider_type is not None: + pulumi.set(__self__, "user_trust_provider_type", user_trust_provider_type) + + @property + @pulumi.getter(name="policyReferenceName") + def policy_reference_name(self) -> pulumi.Input[str]: + """ + The identifier to be used when working with policy rules. + """ + return pulumi.get(self, "policy_reference_name") + + @policy_reference_name.setter + def policy_reference_name(self, value: pulumi.Input[str]): + pulumi.set(self, "policy_reference_name", value) + + @property + @pulumi.getter(name="trustProviderType") + def trust_provider_type(self) -> pulumi.Input[str]: + """ + The type of trust provider can be either user or device-based. + + The following arguments are optional: + """ + return pulumi.get(self, "trust_provider_type") + + @trust_provider_type.setter + def trust_provider_type(self, value: pulumi.Input[str]): + pulumi.set(self, "trust_provider_type", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description for the AWS Verified Access trust provider. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="deviceOptions") + def device_options(self) -> Optional[pulumi.Input['TrustProviderDeviceOptionsArgs']]: + """ + A block of options for device identity based trust providers. + """ + return pulumi.get(self, "device_options") + + @device_options.setter + def device_options(self, value: Optional[pulumi.Input['TrustProviderDeviceOptionsArgs']]): + pulumi.set(self, "device_options", value) + + @property + @pulumi.getter(name="deviceTrustProviderType") + def device_trust_provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of device-based trust provider. + """ + return pulumi.get(self, "device_trust_provider_type") + + @device_trust_provider_type.setter + def device_trust_provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "device_trust_provider_type", value) + + @property + @pulumi.getter(name="oidcOptions") + def oidc_options(self) -> Optional[pulumi.Input['TrustProviderOidcOptionsArgs']]: + """ + The OpenID Connect details for an oidc-type, user-identity based trust provider. + """ + return pulumi.get(self, "oidc_options") + + @oidc_options.setter + def oidc_options(self, value: Optional[pulumi.Input['TrustProviderOidcOptionsArgs']]): + pulumi.set(self, "oidc_options", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userTrustProviderType") + def user_trust_provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of user-based trust provider. + """ + return pulumi.get(self, "user_trust_provider_type") + + @user_trust_provider_type.setter + def user_trust_provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_trust_provider_type", value) + + +@pulumi.input_type +class _TrustProviderState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + device_options: Optional[pulumi.Input['TrustProviderDeviceOptionsArgs']] = None, + device_trust_provider_type: Optional[pulumi.Input[str]] = None, + oidc_options: Optional[pulumi.Input['TrustProviderOidcOptionsArgs']] = None, + policy_reference_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, + trust_provider_type: Optional[pulumi.Input[str]] = None, + user_trust_provider_type: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering TrustProvider resources. + :param pulumi.Input[str] description: A description for the AWS Verified Access trust provider. + :param pulumi.Input['TrustProviderDeviceOptionsArgs'] device_options: A block of options for device identity based trust providers. + :param pulumi.Input[str] device_trust_provider_type: The type of device-based trust provider. + :param pulumi.Input['TrustProviderOidcOptionsArgs'] oidc_options: The OpenID Connect details for an oidc-type, user-identity based trust provider. + :param pulumi.Input[str] policy_reference_name: The identifier to be used when working with policy rules. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] trust_provider_type: The type of trust provider can be either user or device-based. + + The following arguments are optional: + :param pulumi.Input[str] user_trust_provider_type: The type of user-based trust provider. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if device_options is not None: + pulumi.set(__self__, "device_options", device_options) + if device_trust_provider_type is not None: + pulumi.set(__self__, "device_trust_provider_type", device_trust_provider_type) + if oidc_options is not None: + pulumi.set(__self__, "oidc_options", oidc_options) + if policy_reference_name is not None: + pulumi.set(__self__, "policy_reference_name", policy_reference_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + if trust_provider_type is not None: + pulumi.set(__self__, "trust_provider_type", trust_provider_type) + if user_trust_provider_type is not None: + pulumi.set(__self__, "user_trust_provider_type", user_trust_provider_type) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description for the AWS Verified Access trust provider. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="deviceOptions") + def device_options(self) -> Optional[pulumi.Input['TrustProviderDeviceOptionsArgs']]: + """ + A block of options for device identity based trust providers. + """ + return pulumi.get(self, "device_options") + + @device_options.setter + def device_options(self, value: Optional[pulumi.Input['TrustProviderDeviceOptionsArgs']]): + pulumi.set(self, "device_options", value) + + @property + @pulumi.getter(name="deviceTrustProviderType") + def device_trust_provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of device-based trust provider. + """ + return pulumi.get(self, "device_trust_provider_type") + + @device_trust_provider_type.setter + def device_trust_provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "device_trust_provider_type", value) + + @property + @pulumi.getter(name="oidcOptions") + def oidc_options(self) -> Optional[pulumi.Input['TrustProviderOidcOptionsArgs']]: + """ + The OpenID Connect details for an oidc-type, user-identity based trust provider. + """ + return pulumi.get(self, "oidc_options") + + @oidc_options.setter + def oidc_options(self, value: Optional[pulumi.Input['TrustProviderOidcOptionsArgs']]): + pulumi.set(self, "oidc_options", value) + + @property + @pulumi.getter(name="policyReferenceName") + def policy_reference_name(self) -> Optional[pulumi.Input[str]]: + """ + The identifier to be used when working with policy rules. + """ + return pulumi.get(self, "policy_reference_name") + + @policy_reference_name.setter + def policy_reference_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy_reference_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + 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(name="trustProviderType") + def trust_provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of trust provider can be either user or device-based. + + The following arguments are optional: + """ + return pulumi.get(self, "trust_provider_type") + + @trust_provider_type.setter + def trust_provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "trust_provider_type", value) + + @property + @pulumi.getter(name="userTrustProviderType") + def user_trust_provider_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of user-based trust provider. + """ + return pulumi.get(self, "user_trust_provider_type") + + @user_trust_provider_type.setter + def user_trust_provider_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_trust_provider_type", value) + + +class TrustProvider(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + device_options: Optional[pulumi.Input[pulumi.InputType['TrustProviderDeviceOptionsArgs']]] = None, + device_trust_provider_type: Optional[pulumi.Input[str]] = None, + oidc_options: Optional[pulumi.Input[pulumi.InputType['TrustProviderOidcOptionsArgs']]] = None, + policy_reference_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + trust_provider_type: Optional[pulumi.Input[str]] = None, + user_trust_provider_type: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing a Verified Access Trust Provider. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.verifiedaccess.TrustProvider("example", + policy_reference_name="example", + trust_provider_type="user", + user_trust_provider_type="iam-identity-center") + ``` + + ## Import + + In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import { + + to = aws_verifiedaccess_trust_provider.example + + id = "vatp-8012925589" } Using `TODO import`, import Transfer Workflows using the + + `id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description for the AWS Verified Access trust provider. + :param pulumi.Input[pulumi.InputType['TrustProviderDeviceOptionsArgs']] device_options: A block of options for device identity based trust providers. + :param pulumi.Input[str] device_trust_provider_type: The type of device-based trust provider. + :param pulumi.Input[pulumi.InputType['TrustProviderOidcOptionsArgs']] oidc_options: The OpenID Connect details for an oidc-type, user-identity based trust provider. + :param pulumi.Input[str] policy_reference_name: The identifier to be used when working with policy rules. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] trust_provider_type: The type of trust provider can be either user or device-based. + + The following arguments are optional: + :param pulumi.Input[str] user_trust_provider_type: The type of user-based trust provider. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TrustProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing a Verified Access Trust Provider. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.verifiedaccess.TrustProvider("example", + policy_reference_name="example", + trust_provider_type="user", + user_trust_provider_type="iam-identity-center") + ``` + + ## Import + + In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For exampleterraform import { + + to = aws_verifiedaccess_trust_provider.example + + id = "vatp-8012925589" } Using `TODO import`, import Transfer Workflows using the + + `id`. For exampleconsole % TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589 + + :param str resource_name: The name of the resource. + :param TrustProviderArgs 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(TrustProviderArgs, 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, + device_options: Optional[pulumi.Input[pulumi.InputType['TrustProviderDeviceOptionsArgs']]] = None, + device_trust_provider_type: Optional[pulumi.Input[str]] = None, + oidc_options: Optional[pulumi.Input[pulumi.InputType['TrustProviderOidcOptionsArgs']]] = None, + policy_reference_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + trust_provider_type: Optional[pulumi.Input[str]] = None, + user_trust_provider_type: 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__ = TrustProviderArgs.__new__(TrustProviderArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["device_options"] = device_options + __props__.__dict__["device_trust_provider_type"] = device_trust_provider_type + __props__.__dict__["oidc_options"] = oidc_options + if policy_reference_name is None and not opts.urn: + raise TypeError("Missing required property 'policy_reference_name'") + __props__.__dict__["policy_reference_name"] = policy_reference_name + __props__.__dict__["tags"] = tags + if trust_provider_type is None and not opts.urn: + raise TypeError("Missing required property 'trust_provider_type'") + __props__.__dict__["trust_provider_type"] = trust_provider_type + __props__.__dict__["user_trust_provider_type"] = user_trust_provider_type + __props__.__dict__["tags_all"] = None + super(TrustProvider, __self__).__init__( + 'aws:verifiedaccess/trustProvider:TrustProvider', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + device_options: Optional[pulumi.Input[pulumi.InputType['TrustProviderDeviceOptionsArgs']]] = None, + device_trust_provider_type: Optional[pulumi.Input[str]] = None, + oidc_options: Optional[pulumi.Input[pulumi.InputType['TrustProviderOidcOptionsArgs']]] = None, + policy_reference_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, + trust_provider_type: Optional[pulumi.Input[str]] = None, + user_trust_provider_type: Optional[pulumi.Input[str]] = None) -> 'TrustProvider': + """ + Get an existing TrustProvider 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] description: A description for the AWS Verified Access trust provider. + :param pulumi.Input[pulumi.InputType['TrustProviderDeviceOptionsArgs']] device_options: A block of options for device identity based trust providers. + :param pulumi.Input[str] device_trust_provider_type: The type of device-based trust provider. + :param pulumi.Input[pulumi.InputType['TrustProviderOidcOptionsArgs']] oidc_options: The OpenID Connect details for an oidc-type, user-identity based trust provider. + :param pulumi.Input[str] policy_reference_name: The identifier to be used when working with policy rules. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[str] trust_provider_type: The type of trust provider can be either user or device-based. + + The following arguments are optional: + :param pulumi.Input[str] user_trust_provider_type: The type of user-based trust provider. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TrustProviderState.__new__(_TrustProviderState) + + __props__.__dict__["description"] = description + __props__.__dict__["device_options"] = device_options + __props__.__dict__["device_trust_provider_type"] = device_trust_provider_type + __props__.__dict__["oidc_options"] = oidc_options + __props__.__dict__["policy_reference_name"] = policy_reference_name + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["trust_provider_type"] = trust_provider_type + __props__.__dict__["user_trust_provider_type"] = user_trust_provider_type + return TrustProvider(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A description for the AWS Verified Access trust provider. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="deviceOptions") + def device_options(self) -> pulumi.Output[Optional['outputs.TrustProviderDeviceOptions']]: + """ + A block of options for device identity based trust providers. + """ + return pulumi.get(self, "device_options") + + @property + @pulumi.getter(name="deviceTrustProviderType") + def device_trust_provider_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of device-based trust provider. + """ + return pulumi.get(self, "device_trust_provider_type") + + @property + @pulumi.getter(name="oidcOptions") + def oidc_options(self) -> pulumi.Output[Optional['outputs.TrustProviderOidcOptions']]: + """ + The OpenID Connect details for an oidc-type, user-identity based trust provider. + """ + return pulumi.get(self, "oidc_options") + + @property + @pulumi.getter(name="policyReferenceName") + def policy_reference_name(self) -> pulumi.Output[str]: + """ + The identifier to be used when working with policy rules. + """ + return pulumi.get(self, "policy_reference_name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter(name="trustProviderType") + def trust_provider_type(self) -> pulumi.Output[str]: + """ + The type of trust provider can be either user or device-based. + + The following arguments are optional: + """ + return pulumi.get(self, "trust_provider_type") + + @property + @pulumi.getter(name="userTrustProviderType") + def user_trust_provider_type(self) -> pulumi.Output[Optional[str]]: + """ + The type of user-based trust provider. + """ + return pulumi.get(self, "user_trust_provider_type") + diff --git a/upstream b/upstream index 47a4ee00da9..73a8fec0016 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 47a4ee00da91156aa03433a750dd22a503c223e7 +Subproject commit 73a8fec0016e086ea69d4823197f036a70ea5a05 diff --git a/upstream-tools/replacements.json b/upstream-tools/replacements.json index 0da9ee42ad2..6eb7e29ebfd 100644 --- a/upstream-tools/replacements.json +++ b/upstream-tools/replacements.json @@ -17,6 +17,12 @@ "new": " name = \"my_example_backup_report_plan_name\"" } ], + "website/docs/d/default_tags.html.markdown": [ + { + "old": "With this data source, you can apply default tags to resources not _directly_ managed by a Terraform resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance.", + "new": "With this data source, you can apply default tags to resources not _directly_ managed by a TODO resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance." + } + ], "website/docs/d/default_tags.markdown": [ { "old": "With this data source, you can apply default tags to resources not _directly_ managed by a Terraform resource, such as the instances underneath an Auto Scaling group or the volumes created for an EC2 instance.", @@ -48,185 +54,1075 @@ ], "website/docs/d/iam_principal_policy_simulation.html.markdown": [ { - "old": " # the main Terraform language, not part of this data source.", - "new": " # the main language, not part of this data source." + "old": " # the main Terraform language, not part of this data source.", + "new": " # the main language, not part of this data source." + }, + { + "old": "The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN. It combines `aws_iam_principal_policy_simulation` with the core Terraform postconditions feature.", + "new": "The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN." + } + ], + "website/docs/d/iam_server_certificate.html.markdown": [ + { + "old": "% terraform import aws_iam_server_certificate.example example", + "new": "% pulumi import aws_iam_server_certificate.example example" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import an IAM server certificate using `name`. For example:", + "new": "" + }, + { + "old": "Using `terraform import`, import an IAM server certificate using `name`. For example:", + "new": "Using `pulumi import`, import an IAM server certificate using `name`. For example:" + } + ], + "website/docs/d/iam_session_context.html.markdown": [ + { + "old": "### Find the Terraform Runner's Source Role", + "new": "### Find the TODO Runner's Source Role" + }, + { + "old": "~> If `arn` is a non-role ARN, Terraform gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, Terraform gives an error if the identified IAM role does not exist.", + "new": "~> If `arn` is a non-role ARN, TODO gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, TODO gives an error if the identified IAM role does not exist." + } + ], + "website/docs/d/iam_session_context.markdown": [ + { + "old": "### Find the Terraform Runner's Source Role", + "new": "### Find the Provider's Source Role" + }, + { + "old": "~> If `arn` is a non-role ARN, Terraform gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, Terraform gives an error if the identified IAM role does not exist.", + "new": "~> If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist." + } + ], + "website/docs/d/instances.html.markdown": [ + { + "old": "**use `terraform_remote_state`" + }, + { + "old": "and remote state and" + }, + { + "old": "data source instead** if you manage referenced instances via Terraform." + } + ], + "website/docs/d/kms_ciphertext.html.markdown": [ + { + "old": "Read more about sensitive data in state.\n" + } + ], + "website/docs/d/kms_secret.html.markdown": [ + { + "old": "!> **WARNING:** This data source was removed in version 2.0.0 of the Terraform AWS Provider. You can migrate existing configurations to the `aws_kms_secrets` data source following instructions available in the Version 2 Upgrade Guide." + } + ], + "website/docs/d/kms_secrets.html.markdown": [ + { + "old": "That encrypted output can now be inserted into Terraform configurations without exposing the plaintext secret directly.", + "new": "That encrypted output can now be inserted into provider configurations without exposing the plaintext secret directly." + } + ], + "website/docs/d/lambda_functions.html.markdown": [ + { + "old": " Terraform data resource to get a list of Lambda Functions.", + "new": " Data resource to get a list of Lambda Functions." + }, + { + "old": "Terraform data resource to get a list of Lambda Functions.", + "new": "Data resource to get a list of Lambda Functions." + } + ], + "website/docs/d/lambda_invocation.html.markdown": [ + { + "old": "~> **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws_lambda_function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Terraform to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)", + "new": "~> **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws_lambda_function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)" + } + ], + "website/docs/d/lb_listener.html.markdown": [ + { + "old": "\n## Timeouts\n\nConfiguration options:\n\n- `read` - (Default `20m`)" + } + ], + "website/docs/d/networkfirewall_firewall_policy.html.markdown": [ + { + "old": "[1]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_share" + }, + { + "old": "[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/networkfirewall_firewall_policy" + } + ], + "website/docs/d/networkfirewall_resource_policy.html.markdown": [ + { + "old": "[1]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/networkfirewall_resource_policy" + } + ], + "website/docs/d/networkmanager_core_network_policy_document.html.markdown": [ + { + "old": "-> For more information about building AWS Core Network policy documents with Terraform, see the Using AWS & AWSCC Provider Together Guide" + } + ], + "website/docs/d/partition.html.markdown": [ + { + "old": "which Terraform is working.", + "new": "which the provider is working." + } + ], + "website/docs/d/s3_account_public_access_block.html.markdown": [ + { + "old": "* `account_id` - (Optional) AWS account ID to configure. Defaults to automatically determined account ID of the Terraform AWS provider.", + "new": "* `account_id` - (Optional) AWS account ID to configure. Defaults to automatically determined account ID of the AWS provider." + } + ], + "website/docs/d/s3_object.html.markdown": [ + { + "old": "-> **Note:** Terraform ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.", + "new": "-> **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`." + } + ], + "website/docs/d/s3_objects.html.markdown": [ + { + "old": "The following example retrieves a list of all object keys in an S3 bucket and creates corresponding Terraform object data sources:", + "new": "The following example retrieves a list of all object keys in an S3 bucket and creates corresponding object data sources:" + }, + { + "old": "~> **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect Terraform's performance.", + "new": "~> **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect the provider's performance." + } + ], + "website/docs/d/s3control_multi_region_access_point.html.markdown": [ + { + "old": "Defaults to automatically determined account ID of the Terraform AWS provider.", + "new": "Defaults to automatically determined account ID of the AWS provider." + } + ], + "website/docs/d/secretsmanager_secret_version.html.markdown": [ + { + "regExp": true, + "regExpFlags": "gi", + "old": "### Handling Key-Value Secret Strings in JSON\n[^#]+" + } + ], + "website/docs/d/ssm_parameter.html.markdown": [ + { + "old": "* `value` - Value of the parameter. This value is always marked as sensitive in the Terraform plan output, regardless of `type`. In Terraform CLI version 0.15 and later, this may require additional configuration handling for certain scenarios. For more information, see the Terraform v0.15 Upgrade Guide.", + "new": "* `value` - Value of the parameter. This value is always marked as sensitive in the plan output, regardless of `type`." + }, + { + "old": "~> **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\nRead more about sensitive data in state.\n\n" + } + ], + "website/docs/d/ssm_parameters_by_path.html.markdown": [ + { + "old": "~> **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\nRead more about sensitive data in state.\n" + } + ], + "website/docs/d/ssmincidents_replication_set.html.markdown": [ + { + "old": "Use this Terraform data source to manage a replication set in AWS Systems Manager Incident Manager.", + "new": "Use this data source to manage a replication set in AWS Systems Manager Incident Manager." + }, + { + "old": "~> **NOTE:** The AWS Region specified by a Terraform provider must always be one of the Regions specified for the replication set.", + "new": "~> **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set." + } + ], + "website/docs/d/ssmincidents_response_plan.html.markdown": [ + { + "old": "Use this Terraform data source to manage a response plan in AWS Systems Manager Incident Manager.", + "new": "Use this data source to manage a response plan in AWS Systems Manager Incident Manager." + } + ], + "website/docs/d/vpc_ipam_preview_next_cidr.html.markdown": [ + { + "old": "~> **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use Terraform's lifecycle `ignore_changes` policy if this is undesirable.", + "new": "~> **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignore_changes` if this is undesirable." + } + ], + "website/docs/d/vpc_peering_connections.html.markdown": [ + { + "old": "the data source, as noted in issue 4149", + "new": "the data source." + } + ], + "website/docs/guides/continuous-validation-examples.html.markdown": [ + { + "old": " Using Terraform Cloud's Continuous Validation feature with the AWS Provider", + "new": " Using TODO Cloud's Continuous Validation feature with the AWS Provider" + }, + { + "old": "# Using Terraform Cloud's Continuous Validation feature with the AWS Provider", + "new": "# Using TODO Cloud's Continuous Validation feature with the AWS Provider" + }, + { + "old": "## Continuous Validation in Terraform Cloud", + "new": "## Continuous Validation in TODO Cloud" + }, + { + "old": "Below, this guide shows examples of how data returned by the AWS provider can be used to define checks in your Terraform configuration.", + "new": "Below, this guide shows examples of how data returned by the AWS provider can be used to define checks in your TODO configuration." + }, + { + "old": "Custom conditions can be created using data from Terraform providers’ resources and data sources. Data can also be combined from multiple sources; for example, you can use checks to monitor expirable resources by comparing a resource’s expiration date attribute to the current time returned by Terraform’s built-in time functions.", + "new": "Custom conditions can be created using data from TODO providers’ resources and data sources. Data can also be combined from multiple sources; for example, you can use checks to monitor expirable resources by comparing a resource’s expiration date attribute to the current time returned by TODO’s built-in time functions." + }, + { + "old": "The Continuous Validation feature in Terraform Cloud (TFC) allows users to make assertions about their infrastructure between applied runs. This helps users to identify issues at the time they first appear and avoid situations where a change is only identified once it causes a customer-facing problem.", + "new": "The Continuous Validation feature in TODO Cloud (TFC) allows users to make assertions about their infrastructure between applied runs. This helps users to identify issues at the time they first appear and avoid situations where a change is only identified once it causes a customer-facing problem." + }, + { + "old": "Users can add checks to their Terraform configuration using check blocks. Check blocks contain assertions that are defined with a custom condition expression and an error message. When the condition expression evaluates to true the check passes, but when the expression evaluates to false Terraform will show a warning message that includes the user-defined error message.", + "new": "Users can add checks to their TODO configuration using check blocks. Check blocks contain assertions that are defined with a custom condition expression and an error message. When the condition expression evaluates to true the check passes, but when the expression evaluates to false TODO will show a warning message that includes the user-defined error message." + }, + { + "old": "page_title: \"Using Terraform Cloud's Continuous Validation feature with the AWS Provider\"", + "new": "page_title: \"Using TODO Cloud's Continuous Validation feature with the AWS Provider\"" + } + ], + "website/docs/guides/custom-service-endpoints.html.markdown": [ + { + "old": " for Markdown within HTML elements, however the Terraform Registry parser", + "new": " for Markdown within HTML elements, however the TODO Registry parser" + }, + { + "old": " maintaining a table. The terraform.io Markdown parser previously allowed", + "new": " maintaining a table. The TODO.io Markdown parser previously allowed" + }, + { + "old": " Configuring the Terraform AWS Provider to connect to custom AWS service endpoints and AWS compatible solutions.", + "new": " Configuring the TODO AWS Provider to connect to custom AWS service endpoints and AWS compatible solutions." + }, + { + "old": "As a convenience, for compatibility with the Terraform S3 Backend,", + "new": "As a convenience, for compatibility with the TODO S3 Backend," + }, + { + "old": "If multiple, different Terraform AWS Provider configurations are required, see the Terraform documentation on multiple provider instances for additional information about the `alias` provider configuration and its usage.", + "new": "If multiple, different TODO AWS Provider configurations are required, see the TODO documentation on multiple provider instances for additional information about the `alias` provider configuration and its usage." + }, + { + "old": "The Terraform AWS Provider allows the following endpoints to be customized.", + "new": "The TODO AWS Provider allows the following endpoints to be customized." + }, + { + "old": "The Terraform AWS Provider configuration can be customized to connect to non-default AWS service endpoints and AWS compatible solutions. This may be useful for environments with specific compliance requirements, such as using [AWS FIPS 140-2 endpoints](https://aws.amazon.com/compliance/fips/), connecting to AWS Snowball, SC2S, or C2S environments, or local testing.", + "new": "The TODO AWS Provider configuration can be customized to connect to non-default AWS service endpoints and AWS compatible solutions. This may be useful for environments with specific compliance requirements, such as using [AWS FIPS 140-2 endpoints](https://aws.amazon.com/compliance/fips/), connecting to AWS Snowball, SC2S, or C2S environments, or local testing." + }, + { + "old": "To configure the Terraform AWS Provider to use customized endpoints, it can be done within `provider` declarations using the `endpoints` configuration block, e.g.,", + "new": "To configure the TODO AWS Provider to use customized endpoints, it can be done within `provider` declarations using the `endpoints` configuration block, e.g.," + }, + { + "old": "page_title: \"Terraform AWS Provider Custom Service Endpoint Configuration\"", + "new": "page_title: \"TODO AWS Provider Custom Service Endpoint Configuration\"" + }, + { + "old": "~> **NOTE:** Support for connecting the TODO AWS Provider with custom endpoints and AWS compatible solutions is offered as best effort. Individual TODO resources may require compatibility updates to work in certain environments. Integration testing by HashiCorp during provider changes is exclusively done against default AWS endpoints at this time.", + "new": "~> **NOTE:** Support for connecting the TODO AWS Provider with custom endpoints and AWS compatible solutions is offered as best effort. Individual TODO resources may require compatibility updates to work in certain environments. Integration testing by TODO during provider changes is exclusively done against default AWS endpoints at this time." + }, + { + "old": "~> **NOTE:** Support for connecting the Terraform AWS Provider with custom endpoints and AWS compatible solutions is offered as best effort. Individual Terraform resources may require compatibility updates to work in certain environments. Integration testing by HashiCorp during provider changes is exclusively done against default AWS endpoints at this time.", + "new": "~> **NOTE:** Support for connecting the TODO AWS Provider with custom endpoints and AWS compatible solutions is offered as best effort. Individual TODO resources may require compatibility updates to work in certain environments. Integration testing by HashiCorp during provider changes is exclusively done against default AWS endpoints at this time." + } + ], + "website/docs/guides/resource-tagging.html.markdown": [ + { + "old": " Managing resource tags with the Terraform AWS Provider.", + "new": " Managing resource tags with the TODO AWS Provider." + }, + { + "old": "# Terraform 0.12 and later syntax", + "new": "# TODO 0.12 and later syntax" + }, + { + "old": "-> Not all AWS resources support tagging, which can differ across AWS services and even across resources within the same service. Browse the individual Terraform AWS Provider resource documentation pages for the `tags` argument, to see which support resource tagging. If the AWS API implements tagging support for a resource and it is missing from the Terraform AWS Provider resource, a feature request can be submitted.", + "new": "-> Not all AWS resources support tagging, which can differ across AWS services and even across resources within the same service. Browse the individual TODO AWS Provider resource documentation pages for the `tags` argument, to see which support resource tagging. If the AWS API implements tagging support for a resource and it is missing from the TODO AWS Provider resource, a feature request can be submitted." + }, + { + "old": "-> Not all services supported by the Terraform AWS Provider implement these resources. Browse the Terraform AWS Provider resource documentation pages for a resource with a type ending in `_tag`. If there is a use case where this type of resource is missing, a feature request can be submitted.", + "new": "-> Not all services supported by the TODO AWS Provider implement these resources. Browse the TODO AWS Provider resource documentation pages for a resource with a type ending in `_tag`. If there is a use case where this type of resource is missing, a feature request can be submitted." + }, + { + "old": "All Terraform resources support the `lifecycle` configuration block `ignore_changes` argument, which can be used to explicitly ignore all tags changes on a resource beyond an initial configuration or individual tag values.", + "new": "All TODO resources support the `lifecycle` configuration block `ignore_changes` argument, which can be used to explicitly ignore all tags changes on a resource beyond an initial configuration or individual tag values." + }, + { + "old": "As of version 2.60.0 of the Terraform AWS Provider, there is support for ignoring tag changes across all resources under a provider. This simplifies situations where certain tags may be externally applied more globally and enhances functionality beyond `ignore_changes` to support cases such as tag key prefixes.", + "new": "As of version 2.60.0 of the TODO AWS Provider, there is support for ignoring tag changes across all resources under a provider. This simplifies situations where certain tags may be externally applied more globally and enhances functionality beyond `ignore_changes` to support cases such as tag key prefixes." + }, + { + "old": "As of version 3.38.0 of the Terraform AWS Provider, the Terraform Configuration language also enables provider-level tagging as an alternative to the methods described in the [Getting Started with Resource Tags](#getting-started-with-resource-tags) section above.", + "new": "As of version 3.38.0 of the TODO AWS Provider, the TODO Configuration language also enables provider-level tagging as an alternative to the methods described in the [Getting Started with Resource Tags](#getting-started-with-resource-tags) section above." + }, + { + "old": "Certain Terraform AWS Provider services support a special resource for managing an individual tag on a resource without managing the resource itself. One example is the `aws_ec2_tag` resource. These resources enable tagging where resources are created outside Terraform such as EC2 Images (AMIs), shared across accounts via Resource Access Manager (RAM), or implicitly created by other means such as EC2 VPN Connections implicitly creating a taggable EC2 Transit Gateway VPN Attachment.", + "new": "Certain TODO AWS Provider services support a special resource for managing an individual tag on a resource without managing the resource itself. One example is the `aws_ec2_tag` resource. These resources enable tagging where resources are created outside TODO such as EC2 Images (AMIs), shared across accounts via Resource Access Manager (RAM), or implicitly created by other means such as EC2 VPN Connections implicitly creating a taggable EC2 Transit Gateway VPN Attachment." + }, + { + "old": "For most environments and use cases, this is the typical implementation pattern, whether it be in a standalone Terraform configuration or within a Terraform Module. The Terraform configuration language also enables less repetitive configurations via variables, locals, or potentially a combination of these, e.g.,", + "new": "For most environments and use cases, this is the typical implementation pattern, whether it be in a standalone TODO configuration or within a TODO Module. The TODO configuration language also enables less repetitive configurations via variables, locals, or potentially a combination of these, e.g.," + }, + { + "old": "Many AWS services implement [resource tags](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) as an essential part of managing components. These arbitrary key-value pairs can be utilized for billing, ownership, automation, [access control](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html), and many other use cases. Given that these tags are an important aspect of successfully managing an AWS environment, the Terraform AWS Provider implements additional functionality beyond the typical one-to-one resource lifecycle management for easier and more customized implementations.", + "new": "Many AWS services implement [resource tags](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) as an essential part of managing components. These arbitrary key-value pairs can be utilized for billing, ownership, automation, [access control](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html), and many other use cases. Given that these tags are an important aspect of successfully managing an AWS environment, the TODO AWS Provider implements additional functionality beyond the typical one-to-one resource lifecycle management for easier and more customized implementations." + }, + { + "old": "Systems outside of Terraform may automatically interact with the tagging associated with AWS resources. These external systems may be for administrative purposes, such as a Configuration Management Database, or the tagging may be required functionality for those systems, such as Kubernetes. This section shows methods to prevent Terraform from showing differences for specific tags.", + "new": "Systems outside of TODO may automatically interact with the tagging associated with AWS resources. These external systems may be for administrative purposes, such as a Configuration Management Database, or the tagging may be required functionality for those systems, such as Kubernetes. This section shows methods to prevent TODO from showing differences for specific tags." + }, + { + "old": "Terraform AWS Provider resources that support resource tags implement a consistent argument named `tags` which accepts a key-value map, e.g.,", + "new": "TODO AWS Provider resources that support resource tags implement a consistent argument named `tags` which accepts a key-value map, e.g.," + }, + { + "old": "The inline map provided to `for_each` in the example above is used for brevity, but other Terraform configuration language features similar to those noted at the beginning of this guide can be used to make the example more extensible.", + "new": "The inline map provided to `for_each` in the example above is used for brevity, but other TODO configuration language features similar to those noted at the beginning of this guide can be used to make the example more extensible." + }, + { + "old": "The provider ignore tags configuration applies to all Terraform AWS Provider resources under that particular instance (the `default` provider instance in the above cases). If multiple, different Terraform AWS Provider configurations are being used (e.g., multiple provider instances), the ignore tags configuration must be added to all applicable provider configurations.", + "new": "The provider ignore tags configuration applies to all TODO AWS Provider resources under that particular instance (the `default` provider instance in the above cases). If multiple, different TODO AWS Provider configurations are being used (e.g., multiple provider instances), the ignore tags configuration must be added to all applicable provider configurations." + }, + { + "old": "The tags for the resource are wholly managed by Terraform except tag keys beginning with `aws:` as these are managed by AWS services and cannot typically be edited or deleted. Any non-AWS tags added to the VPC outside of Terraform will be proposed for removal on the next Terraform execution. Missing tags or those with incorrect values from the Terraform configuration will be proposed for addition or update on the next Terraform execution. Advanced patterns that can adjust these behaviors for special use cases, such as Terraform AWS Provider configurations that affect all resources and the ability to manage resource tags for resources not managed by Terraform, can be found later in this guide.", + "new": "The tags for the resource are wholly managed by TODO except tag keys beginning with `aws:` as these are managed by AWS services and cannot typically be edited or deleted. Any non-AWS tags added to the VPC outside of TODO will be proposed for removal on the next TODO execution. Missing tags or those with incorrect values from the TODO configuration will be proposed for addition or update on the next TODO execution. Advanced patterns that can adjust these behaviors for special use cases, such as TODO AWS Provider configurations that affect all resources and the ability to manage resource tags for resources not managed by TODO, can be found later in this guide." + }, + { + "old": "This functionality is available for all Terraform AWS Provider resources that currently support `tags`, with the exception of the `aws_autoscaling_group` resource. Refactoring the use of variables or locals may look like:", + "new": "This functionality is available for all TODO AWS Provider resources that currently support `tags`, with the exception of the `aws_autoscaling_group` resource. Refactoring the use of variables or locals may look like:" + }, + { + "old": "page_title: \"Terraform AWS Provider Resource Tagging\"", + "new": "page_title: \"TODO AWS Provider Resource Tagging\"" + }, + { + "old": "~> **NOTE:** This is an advanced use case and can cause conflicting management issues when improperly implemented. These individual tag resources should not be combined with the Terraform resource for managing the parent resource. For example, using `aws_vpc` and `aws_ec2_tag` to manage tags of the same VPC will cause a perpetual difference where the `aws_vpc` resource will try to remove the tag being added by the `aws_ec2_tag` resource.", + "new": "~> **NOTE:** This is an advanced use case and can cause conflicting management issues when improperly implemented. These individual tag resources should not be combined with the TODO resource for managing the parent resource. For example, using `aws_vpc` and `aws_ec2_tag` to manage tags of the same VPC will cause a perpetual difference where the `aws_vpc` resource will try to remove the tag being added by the `aws_ec2_tag` resource." + } + ], + "website/docs/guides/using-aws-with-awscc-provider.html.markdown": [ + { + "old": " source = \"hashicorp/aws\"", + "new": " source = \"TODO/aws\"" + }, + { + "old": " source = \"hashicorp/awscc\"", + "new": " source = \"TODO/awscc\"" + }, + { + "old": " key = \"terraform\"", + "new": " key = \"TODO\"" + }, + { + "old": " Managing resource tags with the Terraform AWS Provider.", + "new": " Managing resource tags with the TODO AWS Provider." + }, + { + "old": " tags = local.terraform_tag", + "new": " tags = local.TODO_tag" + }, + { + "old": " tags = concat(local.terraform_tag,", + "new": " tags = concat(local.TODO_tag," + }, + { + "old": " terraform_tag = [{", + "new": " TODO_tag = [{" + }, + { + "old": "Above, we define a `awscc_networkmanager_global_network` with 2 tags and a description. AWSCC resources use the [standard AWS tag format](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) which is expressed in HCL as a list of maps with 2 keys. We want to reuse the `terraform = true` tag so we define it as a `local` then we use concat to join the list of tags together.", + "new": "Above, we define a `awscc_networkmanager_global_network` with 2 tags and a description. AWSCC resources use the [standard AWS tag format](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) which is expressed in HCL as a list of maps with 2 keys. We want to reuse the `TODO = true` tag so we define it as a `local` then we use concat to join the list of tags together." + }, + { + "old": "For Terraform users managing infrastructure on AWS, we expect the AWSCC provider will be used alongside the existing AWS provider. This guide is provided to show guidance and an example of using the providers together to deploy an AWS Cloud WAN Core Network.", + "new": "For TODO users managing infrastructure on AWS, we expect the AWSCC provider will be used alongside the existing AWS provider. This guide is provided to show guidance and an example of using the providers together to deploy an AWS Cloud WAN Core Network." + }, + { + "old": "For more information about the AWSCC provider, please see the provider documentation in Terraform Registry", + "new": "For more information about the AWSCC provider, please see the provider documentation in TODO Registry" + }, + { + "old": "Terraform can use many providers at once, as long as they are specified in your `terraform` configuration block:", + "new": "TODO can use many providers at once, as long as they are specified in your `TODO` configuration block:" + }, + { + "old": "Thanks to Terraform's plugin design, the providers work together seemlessly!", + "new": "Thanks to TODO's plugin design, the providers work together seemlessly!" + }, + { + "old": "The HashiCorp TODO AWS Cloud Control Provider aims to bring Amazon Web Services (AWS) resources to TODO users faster. The new provider is automatically generated, which means new features and services on AWS can be supported right away. The AWS Cloud Control provider supports hundreds of AWS resources, with more support being added as AWS service teams adopt the Cloud Control API standard.", + "new": "The TODO TODO AWS Cloud Control Provider aims to bring Amazon Web Services (AWS) resources to TODO users faster. The new provider is automatically generated, which means new features and services on AWS can be supported right away. The AWS Cloud Control provider supports hundreds of AWS resources, with more support being added as AWS service teams adopt the Cloud Control API standard." + }, + { + "old": "The HashiCorp Terraform AWS Cloud Control Provider aims to bring Amazon Web Services (AWS) resources to Terraform users faster. The new provider is automatically generated, which means new features and services on AWS can be supported right away. The AWS Cloud Control provider supports hundreds of AWS resources, with more support being added as AWS service teams adopt the Cloud Control API standard.", + "new": "The HashiCorp TODO AWS Cloud Control Provider aims to bring Amazon Web Services (AWS) resources to TODO users faster. The new provider is automatically generated, which means new features and services on AWS can be supported right away. The AWS Cloud Control provider supports hundreds of AWS resources, with more support being added as AWS service teams adopt the Cloud Control API standard." + }, + { + "old": "The code snippet above informs terraform to download 2 providers as plugins for the current root module, the AWS and AWSCC provider. You can tell which provider is being use by looking at the resource or data source name-prefix. Resources that start with `aws_` use the AWS provider, resources that start with `awscc_` are using the AWSCC provider.", + "new": "The code snippet above informs TODO to download 2 providers as plugins for the current root module, the AWS and AWSCC provider. You can tell which provider is being use by looking at the resource or data source name-prefix. Resources that start with `aws_` use the AWS provider, resources that start with `awscc_` are using the AWSCC provider." + }, + { + "old": "page_title: \"Using the Terraform awscc provider with aws provider\"", + "new": "page_title: \"Using the TODO awscc provider with aws provider\"" + }, + { + "old": "terraform {", + "new": "TODO {" + } + ], + "website/docs/guides/version-2-upgrade.html.markdown": [ + { + "old": " Terraform AWS Provider Version 2 Upgrade Guide", + "new": " TODO AWS Provider Version 2 Upgrade Guide" + }, + { + "old": "# Below example configuration will not be supported in Terraform AWS provider version 2.0.0", + "new": "# Below example configuration will not be supported in TODO AWS provider version 2.0.0" + }, + { + "old": "# Terraform AWS Provider Version 2 Upgrade Guide", + "new": "# TODO AWS Provider Version 2 Upgrade Guide" + }, + { + "old": "-> Before upgrading to version 2.0.0 or later, it is recommended to upgrade to the most recent 1.X version of the provider (version 1.60.0) and ensure that your environment successfully runs `terraform plan` without unexpected changes or deprecation notices.", + "new": "-> Before upgrading to version 2.0.0 or later, it is recommended to upgrade to the most recent 1.X version of the provider (version 1.60.0) and ensure that your environment successfully runs `TODO plan` without unexpected changes or deprecation notices." + }, + { + "old": "Default connections have been removed as part of LAG creation. To migrate your Terraform configuration, the AWS provider implements the following resources:", + "new": "Default connections have been removed as part of LAG creation. To migrate your TODO configuration, the AWS provider implements the following resources:" + }, + { + "old": "During resource creation in version 1.X and prior, it would silently perform an `UPSERT` changeset to the existing Route 53 Record and not report back an error. In version 2.0.0 of the Terraform AWS Provider, the resource now performs a `CREATE` changeset, which will error for existing Route 53 Records.", + "new": "During resource creation in version 1.X and prior, it would silently perform an `UPSERT` changeset to the existing Route 53 Record and not report back an error. In version 2.0.0 of the TODO AWS Provider, the resource now performs a `CREATE` changeset, which will error for existing Route 53 Records." + }, + { + "old": "For example, if the `www.example.com` Route 53 Record in the `example.com` Route 53 Hosted Zone existed previously and this new Terraform configuration was introduced:", + "new": "For example, if the `www.example.com` Route 53 Record in the `example.com` Route 53 Hosted Zone existed previously and this new TODO configuration was introduced:" + }, + { + "old": "Most of the changes outlined in this guide have been previously marked as deprecated in the Terraform plan/apply output throughout previous provider releases. These changes, such as deprecation notices, can always be found in the Terraform AWS Provider CHANGELOG.", + "new": "Most of the changes outlined in this guide have been previously marked as deprecated in the TODO plan/apply output throughout previous provider releases. These changes, such as deprecation notices, can always be found in the TODO AWS Provider CHANGELOG." + }, + { + "old": "Simply remove `current = true` from your Terraform configuration. The data source defaults to the current provider region if no other filtering is enabled.", + "new": "Simply remove `current = true` from your TODO configuration. The data source defaults to the current provider region if no other filtering is enabled." + }, + { + "old": "Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now required to associate an API key with an API stage. To migrate your Terraform configuration, the AWS provider implements support for usage plans with the following resources:", + "new": "Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now required to associate an API key with an API stage. To migrate your TODO configuration, the AWS provider implements support for usage plans with the following resources:" + }, + { + "old": "Switch your Terraform configuration to `vpc` configuration block(s) instead.", + "new": "Switch your TODO configuration to `vpc` configuration block(s) instead." + }, + { + "old": "Switch your Terraform configuration to the `byte_match_tuples` argument instead.", + "new": "Switch your TODO configuration to the `byte_match_tuples` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `creation_token` argument instead.", + "new": "Switch your TODO configuration to the `creation_token` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `min_adjustment_magnitude` argument instead.", + "new": "Switch your TODO configuration to the `min_adjustment_magnitude` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `name` argument instead.", + "new": "Switch your TODO configuration to the `name` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `ordered_cache_behavior` argument instead. It behaves similar to the previous `cache_behavior` argument, however the ordering of the configurations in Terraform is now reflected in the distribution where previously it was indeterminate.", + "new": "Switch your TODO configuration to the `ordered_cache_behavior` argument instead. It behaves similar to the previous `cache_behavior` argument, however the ordering of the configurations in TODO is now reflected in the distribution where previously it was indeterminate." + }, + { + "old": "Switch your Terraform configuration to the `ordered_placement_strategy` argument instead. It behaves similar to the previous `placement_strategy` argument, however the ordering of the configurations in Terraform is now reflected in the distribution where previously it was indeterminate.", + "new": "Switch your TODO configuration to the `ordered_placement_strategy` argument instead. It behaves similar to the previous `placement_strategy` argument, however the ordering of the configurations in TODO is now reflected in the distribution where previously it was indeterminate." + }, + { + "old": "Switch your Terraform configuration to the `preferred_availability_zones` argument instead. The argument is still optional and the API will continue to automatically choose Availability Zones for nodes if not specified. The new argument will also continue to match the APIs required behavior that the length of the list must be the same as `num_cache_nodes`.", + "new": "Switch your TODO configuration to the `preferred_availability_zones` argument instead. The argument is still optional and the API will continue to automatically choose Availability Zones for nodes if not specified. The new argument will also continue to match the APIs required behavior that the length of the list must be the same as `num_cache_nodes`." + }, + { + "old": "Switch your Terraform configuration to the `request_parameters` argument instead.", + "new": "Switch your TODO configuration to the `request_parameters` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `response_parameters` argument instead.", + "new": "Switch your TODO configuration to the `response_parameters` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `subnet_ids` argument instead.", + "new": "Switch your TODO configuration to the `subnet_ids` argument instead." + }, + { + "old": "Terraform configuration migration steps:", + "new": "TODO configuration migration steps:" + }, + { + "old": "The `allow_overwrite` argument provides a workaround to keep the old behavior, but most existing workflows should be updated to perform a `terraform import` command like the following instead:", + "new": "The `allow_overwrite` argument provides a workaround to keep the old behavior, but most existing workflows should be updated to perform a `TODO import` command like the following instead:" + }, + { + "old": "The implementation of the `aws_kms_secret` data source, prior to Terraform AWS provider version 2.0.0, used dynamic attribute behavior which is not supported with Terraform 0.12 and beyond (full details available in this GitHub issue).", + "new": "The implementation of the `aws_kms_secret` data source, prior to TODO AWS provider version 2.0.0, used dynamic attribute behavior which is not supported with TODO 0.12 and beyond (full details available in this GitHub issue)." + }, + { + "old": "The resource now requires existing Route 53 Records to be imported into the Terraform state for management unless the `allow_overwrite` argument is enabled.", + "new": "The resource now requires existing Route 53 Records to be imported into the TODO state for management unless the `allow_overwrite` argument is enabled." + }, + { + "old": "Version 2.0.0 of the AWS provider for Terraform is a major release and includes some changes that you will need to consider when upgrading. This guide is intended to help with that process and focuses only on changes from version 1.60.0 to version 2.0.0.", + "new": "Version 2.0.0 of the AWS provider for TODO is a major release and includes some changes that you will need to consider when upgrading. This guide is intended to help with that process and focuses only on changes from version 1.60.0 to version 2.0.0." + }, + { + "old": "We recommend using version constraints when configuring Terraform providers. If you are following that recommendation, update the version constraints in your Terraform configuration and run `terraform init` to download the new version.", + "new": "We recommend using version constraints when configuring TODO providers. If you are following that recommendation, update the version constraints in your TODO configuration and run `TODO init` to download the new version." + }, + { + "old": "When attempting to bring existing IAM User Login Profiles under Terraform management, `terraform import` is now required. See the `aws_iam_user_login_profile` resource documentation for more information.", + "new": "When attempting to bring existing IAM User Login Profiles under TODO management, `TODO import` is now required. See the `aws_iam_user_login_profile` resource documentation for more information." + }, + { + "old": "addition to the `aws_route_table`, in the Terraform state. Support for importing `aws_route` resources has been added and importing this resource only adds the `aws_route_table`", + "new": "addition to the `aws_route_table`, in the TODO state. Support for importing `aws_route` resources has been added and importing this resource only adds the `aws_route_table`" + }, + { + "old": "page_title: \"Terraform AWS Provider Version 2 Upgrade Guide\"", + "new": "page_title: \"TODO AWS Provider Version 2 Upgrade Guide\"" + } + ], + "website/docs/guides/version-3-upgrade.html.markdown": [ + { + "old": " Owner = \"lifesum-terraform\"", + "new": " Owner = \"lifesum-TODO\"" + }, + { + "old": " Owner = \"lifesum-terraform\"", + "new": " Owner = \"lifesum-TODO\"" + }, + { + "old": " Terraform AWS Provider Version 3 Upgrade Guide", + "new": " TODO AWS Provider Version 3 Upgrade Guide" + }, + { + "old": "# In Terraform 0.11 and earlier, the result_map attribute can be used", + "new": "# In TODO 0.11 and earlier, the result_map attribute can be used" + }, + { + "old": "# In Terraform 0.12 and later, the jsondecode() function can be used", + "new": "# In TODO 0.12 and later, the jsondecode() function can be used" + }, + { + "old": "# Terraform AWS Provider Version 3 Upgrade Guide", + "new": "# TODO AWS Provider Version 3 Upgrade Guide" + }, + { + "old": "# to convert a result JSON string to native Terraform types.", + "new": "# to convert a result JSON string to native TODO types." + }, + { + "old": "$ GITHUB_TOKEN= terraform apply", + "new": "$ GITHUB_TOKEN= TODO apply" + }, + { + "old": "$ TF_VAR_github_token= terraform apply", + "new": "$ TF_VAR_github_token= TODO apply" + }, + { + "old": "$ terraform state rm aws_route53_record.existing", + "new": "$ TODO state rm aws_route53_record.existing" + }, + { + "old": "- Static credentials (those defined in the Terraform configuration)", + "new": "- Static credentials (those defined in the TODO configuration)" + }, + { + "old": "-> Before upgrading to version 3.0.0, it is recommended to upgrade to the most recent 2.X version of the provider and ensure that your environment successfully runs `terraform plan` without unexpected changes or deprecation notices.", + "new": "-> Before upgrading to version 3.0.0, it is recommended to upgrade to the most recent 2.X version of the provider and ensure that your environment successfully runs `TODO plan` without unexpected changes or deprecation notices." + }, + { + "old": "-> This guide is showing the simpler `terraform state rm` option below as a potential shortcut in this specific situation, however in most other cases `terraform state mv` is required to change from `count` based resources to `for_each` based resources and properly match the existing Terraform state to the updated Terraform configuration.", + "new": "-> This guide is showing the simpler `TODO state rm` option below as a potential shortcut in this specific situation, however in most other cases `TODO state mv` is required to change from `count` based resources to `for_each` based resources and properly match the existing TODO state to the updated TODO configuration." + }, + { + "old": "A few weeks after general availability launch and initial release of the `aws_msk_cluster` resource, the MSK API default for client broker encryption switched from `TLS_PLAINTEXT` to `TLS`. The attribute default has now been updated to match the more secure API default, however existing Terraform configurations may show a difference if this setting is not configured.", + "new": "A few weeks after general availability launch and initial release of the `aws_msk_cluster` resource, the MSK API default for client broker encryption switched from `TLS_PLAINTEXT` to `TLS`. The attribute default has now been updated to match the more secure API default, however existing TODO configurations may show a difference if this setting is not configured." + }, + { + "old": "Due to the type of configuration change, Terraform does not know that the previous `aws_route53_record` resources (indexed by number in the existing state) and the new resources (indexed by domain names in the updated configuration) are equivalent. Typically in this situation, the `terraform state mv` command can be used to reduce the plan to show no changes. This is done by associating the count index (e.g., `[1]`) with the equivalent domain name index (e.g., `[\"existing2.example.com\"]`), making one of the four commands to fix the above example: `terraform state mv 'aws_route53_record.existing[1]' 'aws_route53_record.existing[\"existing2.example.com\"]'`. We recommend using this `terraform state mv` update process where possible to reduce chances of unexpected behaviors or changes in an environment.", + "new": "Due to the type of configuration change, TODO does not know that the previous `aws_route53_record` resources (indexed by number in the existing state) and the new resources (indexed by domain names in the updated configuration) are equivalent. Typically in this situation, the `TODO state mv` command can be used to reduce the plan to show no changes. This is done by associating the count index (e.g., `[1]`) with the equivalent domain name index (e.g., `[\"existing2.example.com\"]`), making one of the four commands to fix the above example: `TODO state mv 'aws_route53_record.existing[1]' 'aws_route53_record.existing[\"existing2.example.com\"]'`. We recommend using this `TODO state mv` update process where possible to reduce chances of unexpected behaviors or changes in an environment." + }, + { + "old": "Exceptions to this are in cases where `iops` is set to `null` or `0` such that the Terraform AWS Provider will continue to accept the value regardless of `type`.", + "new": "Exceptions to this are in cases where `iops` is set to `null` or `0` such that the TODO AWS Provider will continue to accept the value regardless of `type`." + }, + { + "old": "Further questions on potential update steps can be submitted to the [community forums](https://discuss.hashicorp.com/c/TODO-providers/tf-aws/33).", + "new": "Further questions on potential update steps can be submitted to the [community forums](https://discuss.TODO.com/c/TODO-providers/tf-aws/33)." + }, + { + "old": "Further questions on potential update steps can be submitted to the [community forums](https://discuss.hashicorp.com/c/terraform-providers/tf-aws/33).", + "new": "Further questions on potential update steps can be submitted to the [community forums](https://discuss.hashicorp.com/c/TODO-providers/tf-aws/33)." + }, + { + "old": "If `aws_autoscaling_attachment` resources reference your ASG configurations, you will need to add the `lifecycle` configuration block with an `ignore_changes` argument to prevent Terraform non-empty plans (i.e., forcing resource update) during the next state refresh.", + "new": "If `aws_autoscaling_attachment` resources reference your ASG configurations, you will need to add the `lifecycle` configuration block with an `ignore_changes` argument to prevent TODO non-empty plans (i.e., forcing resource update) during the next state refresh." + }, + { + "old": "If using `terraform state mv` to reduce the plan to show no changes, no additional steps are required.", + "new": "If using `TODO state mv` to reduce the plan to show no changes, no additional steps are required." + }, + { + "old": "In larger or more complex environments though, this process can be tedius to match the old resource address to the new resource address and run all the necessary `terraform state mv` commands. Instead, since the `aws_route53_record` resource implements the `allow_overwrite = true` argument, it is possible to just remove the old `aws_route53_record` resources from the Terraform state using the `terraform state rm` command. In this case, Terraform will leave the existing records in Route 53 and plan to just overwrite the existing validation records with the same exact (previous) values.", + "new": "In larger or more complex environments though, this process can be tedius to match the old resource address to the new resource address and run all the necessary `TODO state mv` commands. Instead, since the `aws_route53_record` resource implements the `allow_overwrite = true` argument, it is possible to just remove the old `aws_route53_record` resources from the TODO state using the `TODO state rm` command. In this case, TODO will leave the existing records in Route 53 and plan to just overwrite the existing validation records with the same exact (previous) values." + }, + { + "old": "In many regions today and in all regions after October 1, 2020, the [SES API will only accept version 4 signatures](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-ses-api-authentication.html). If referencing the `ses_smtp_password` attribute, switch your Terraform configuration to the `ses_smtp_password_v4` attribute instead. Please note that this signature is based on the region of the Terraform AWS Provider. If you need the SES v4 password in multiple regions, it may require using multiple provider instances.", + "new": "In many regions today and in all regions after October 1, 2020, the [SES API will only accept version 4 signatures](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-ses-api-authentication.html). If referencing the `ses_smtp_password` attribute, switch your TODO configuration to the `ses_smtp_password_v4` attribute instead. Please note that this signature is based on the region of the TODO AWS Provider. If you need the SES v4 password in multiple regions, it may require using multiple provider instances." + }, + { + "old": "Most of the changes outlined in this guide have been previously marked as deprecated in the Terraform plan/apply output throughout previous provider releases. These changes, such as deprecation notices, can always be found in the Terraform AWS Provider CHANGELOG.", + "new": "Most of the changes outlined in this guide have been previously marked as deprecated in the TODO plan/apply output throughout previous provider releases. These changes, such as deprecation notices, can always be found in the TODO AWS Provider CHANGELOG." + }, + { + "old": "Now the Terraform plan will show only the additions of new Route 53 records (which are exactly the same as before the upgrade) and the proposed recreation of the `aws_acm_certificate_validation` resource. The `aws_acm_certificate_validation` resource recreation will have no effect as the certificate is already validated and issued.", + "new": "Now the TODO plan will show only the additions of new Route 53 records (which are exactly the same as before the upgrade) and the proposed recreation of the `aws_acm_certificate_validation` resource. The `aws_acm_certificate_validation` resource recreation will have no effect as the certificate is already validated and issued." + }, + { + "old": "Previously the `subject_alternative_names` argument was stored in the TODO state as an ordered list while the API returned information in an unordered manner. The attribute is now configured as a set instead of a list. Certain TODO configuration language features distinguish between these two attribute types such as not being able to index a set (e.g., `aws_acm_certificate.example.subject_alternative_names[0]` is no longer a valid reference). Depending on the implementation details of a particular configuration using `subject_alternative_names` as a reference, possible solutions include changing references to using `for`/`for_each` or using the `tolist()` function as a temporary workaround to keep the previous behavior until an appropriate configuration (properly using the unordered set) can be determined. Usage questions can be submitted to the [community forums](https://discuss.hashicorp.com/c/TODO-providers/tf-aws/33).", + "new": "Previously the `subject_alternative_names` argument was stored in the TODO state as an ordered list while the API returned information in an unordered manner. The attribute is now configured as a set instead of a list. Certain TODO configuration language features distinguish between these two attribute types such as not being able to index a set (e.g., `aws_acm_certificate.example.subject_alternative_names[0]` is no longer a valid reference). Depending on the implementation details of a particular configuration using `subject_alternative_names` as a reference, possible solutions include changing references to using `for`/`for_each` or using the `tolist()` function as a temporary workaround to keep the previous behavior until an appropriate configuration (properly using the unordered set) can be determined. Usage questions can be submitted to the [community forums](https://discuss.TODO.com/c/TODO-providers/tf-aws/33)." + }, + { + "old": "Previously the `subject_alternative_names` argument was stored in the Terraform state as an ordered list while the API returned information in an unordered manner. The attribute is now configured as a set instead of a list. Certain Terraform configuration language features distinguish between these two attribute types such as not being able to index a set (e.g., `aws_acm_certificate.example.subject_alternative_names[0]` is no longer a valid reference). Depending on the implementation details of a particular configuration using `subject_alternative_names` as a reference, possible solutions include changing references to using `for`/`for_each` or using the `tolist()` function as a temporary workaround to keep the previous behavior until an appropriate configuration (properly using the unordered set) can be determined. Usage questions can be submitted to the [community forums](https://discuss.hashicorp.com/c/terraform-providers/tf-aws/33).", + "new": "Previously the `subject_alternative_names` argument was stored in the TODO state as an ordered list while the API returned information in an unordered manner. The attribute is now configured as a set instead of a list. Certain TODO configuration language features distinguish between these two attribute types such as not being able to index a set (e.g., `aws_acm_certificate.example.subject_alternative_names[0]` is no longer a valid reference). Depending on the implementation details of a particular configuration using `subject_alternative_names` as a reference, possible solutions include changing references to using `for`/`for_each` or using the `tolist()` function as a temporary workaround to keep the previous behavior until an appropriate configuration (properly using the unordered set) can be determined. Usage questions can be submitted to the [community forums](https://discuss.hashicorp.com/c/TODO-providers/tf-aws/33)." + }, + { + "old": "Previously when importing the `aws_dx_gateway` resource with the `terraform import` command, the Terraform AWS Provider would automatically attempt to import an associated `aws_dx_gateway_association` resource(s) as well. This automatic resource import has been removed. Use the `aws_dx_gateway_association` resource import to import those resources separately.", + "new": "Previously when importing the `aws_dx_gateway` resource with the `TODO import` command, the TODO AWS Provider would automatically attempt to import an associated `aws_dx_gateway_association` resource(s) as well. This automatic resource import has been removed. Use the `aws_dx_gateway_association` resource import to import those resources separately." + }, + { + "old": "Previously when importing the `aws_s3_bucket` resource with the `terraform import` command, the Terraform AWS Provider would automatically attempt to import an associated `aws_s3_bucket_policy` resource as well. This automatic resource import has been removed. Use the `aws_s3_bucket_policy` resource import to import that resource separately.", + "new": "Previously when importing the `aws_s3_bucket` resource with the `TODO import` command, the TODO AWS Provider would automatically attempt to import an associated `aws_s3_bucket_policy` resource as well. This automatic resource import has been removed. Use the `aws_s3_bucket_policy` resource import to import that resource separately." + }, + { + "old": "Previously when importing the `aws_security_group` resource with the `terraform import` command, the Terraform AWS Provider would automatically attempt to import an associated `aws_security_group_rule` resource(s) as well. This automatic resource import has been removed. Use the `aws_security_group_rule` resource import to import those resources separately.", + "new": "Previously when importing the `aws_security_group` resource with the `TODO import` command, the TODO AWS Provider would automatically attempt to import an associated `aws_security_group_rule` resource(s) as well. This automatic resource import has been removed. Use the `aws_security_group_rule` resource import to import those resources separately." + }, + { + "old": "Previously when the `certificate_body`, `certificate_chain`, and `private_key` arguments were stored in state, they were stored as a hash of the actual value. This prevented Terraform from properly updating the resource when necessary and the hashing has been removed. The Terraform AWS Provider will show an update to these arguments on the first apply after upgrading to version 3.0.0, which is fixing the Terraform state to remove the hash. Since the `private_key` attribute is marked as sensitive, the values in the update will not be visible in the Terraform output. If the non-hashed values have not changed, then no update is occurring other than the Terraform state update. If these arguments are the only updates and they all match the hash removal, the apply will occur without submitting API calls.", + "new": "Previously when the `certificate_body`, `certificate_chain`, and `private_key` arguments were stored in state, they were stored as a hash of the actual value. This prevented TODO from properly updating the resource when necessary and the hashing has been removed. The TODO AWS Provider will show an update to these arguments on the first apply after upgrading to version 3.0.0, which is fixing the TODO state to remove the hash. Since the `private_key` attribute is marked as sensitive, the values in the update will not be visible in the TODO output. If the non-hashed values have not changed, then no update is occurring other than the TODO state update. If these arguments are the only updates and they all match the hash removal, the apply will occur without submitting API calls." + }, + { + "old": "Previously when the `iops` argument was configured in either the `ebs_block_device` or `root_block_device` configuration block, the Terraform AWS Provider would automatically disregard the value provided to `iops` if the `type` argument was also configured with a value other than `io1` (either explicitly or omitted, indicating the default type `gp2`) as `iops` are only configurable for the `io1` volume type per the AWS EC2 API. This behavior has changed such that the Terraform AWS Provider will instead return an error at apply time indicating an `iops` value is invalid for volume types other than `io1`.", + "new": "Previously when the `iops` argument was configured in either the `ebs_block_device` or `root_block_device` configuration block, the TODO AWS Provider would automatically disregard the value provided to `iops` if the `type` argument was also configured with a value other than `io1` (either explicitly or omitted, indicating the default type `gp2`) as `iops` are only configurable for the `io1` volume type per the AWS EC2 API. This behavior has changed such that the TODO AWS Provider will instead return an error at apply time indicating an `iops` value is invalid for volume types other than `io1`." + }, + { + "old": "Previously when the `iops` argument was configured with a `type` other than `io1` (either explicitly or omitted, indicating the default type `gp2`), the Terraform AWS Provider would automatically disregard the value provided to `iops` as it is only configurable for the `io1` volume type per the AWS EC2 API. This behavior has changed such that the Terraform AWS Provider will instead return an error at apply time indicating an `iops` value is invalid for types other than `io1`.", + "new": "Previously when the `iops` argument was configured with a `type` other than `io1` (either explicitly or omitted, indicating the default type `gp2`), the TODO AWS Provider would automatically disregard the value provided to `iops` as it is only configurable for the `io1` volume type per the AWS EC2 API. This behavior has changed such that the TODO AWS Provider will instead return an error at apply time indicating an `iops` value is invalid for types other than `io1`." + }, + { + "old": "Previously when the `platform_credential` and `platform_principal` arguments were stored in state, they were stored as a SHA256 hash of the actual value. This prevented Terraform from properly updating the resource when necessary and the hashing has been removed. The Terraform AWS Provider will show an update to these arguments on the first apply after upgrading to version 3.0.0, which is fixing the Terraform state to remove the hash. Since the attributes are marked as sensitive, the values in the update will not be visible in the Terraform output. If the non-hashed values have not changed, then no update is occurring other than the Terraform state update. If these arguments are the only two updates and they both match the SHA256 removal, the apply will occur without submitting an actual `SetPlatformApplicationAttributes` API call.", + "new": "Previously when the `platform_credential` and `platform_principal` arguments were stored in state, they were stored as a SHA256 hash of the actual value. This prevented TODO from properly updating the resource when necessary and the hashing has been removed. The TODO AWS Provider will show an update to these arguments on the first apply after upgrading to version 3.0.0, which is fixing the TODO state to remove the hash. Since the attributes are marked as sensitive, the values in the update will not be visible in the TODO output. If the non-hashed values have not changed, then no update is occurring other than the TODO state update. If these arguments are the only two updates and they both match the SHA256 removal, the apply will occur without submitting an actual `SetPlatformApplicationAttributes` API call." + }, + { + "old": "Previously when the `throttling_burst_limit` or `throttling_rate_limit` argument was not configured, the resource would enable throttling and set the limit value to the AWS API Gateway default. In addition, as these arguments were marked as `Computed`, Terraform ignored any subsequent changes made to these arguments in the resource. These behaviors have been removed and, by default, the `throttling_burst_limit` and `throttling_rate_limit` arguments will be disabled in the resource with a value of `-1`.", + "new": "Previously when the `throttling_burst_limit` or `throttling_rate_limit` argument was not configured, the resource would enable throttling and set the limit value to the AWS API Gateway default. In addition, as these arguments were marked as `Computed`, TODO ignored any subsequent changes made to these arguments in the resource. These behaviors have been removed and, by default, the `throttling_burst_limit` and `throttling_rate_limit` arguments will be disabled in the resource with a value of `-1`." + }, + { + "old": "Previously, the `active_trusted_signers` computed attribute was implemented with a Map that did not support accessing its computed `items` attribute in Terraform 0.12 correctly.", + "new": "Previously, the `active_trusted_signers` computed attribute was implemented with a Map that did not support accessing its computed `items` attribute in TODO 0.12 correctly." + }, + { + "old": "Previously, the `domain_validation_options` attribute was a list type and completely unknown until after an initial `terraform apply`. This generally required complicated configuration workarounds to properly create DNS validation records since referencing this attribute directly could produce errors similar to the below:", + "new": "Previously, the `domain_validation_options` attribute was a list type and completely unknown until after an initial `TODO apply`. This generally required complicated configuration workarounds to properly create DNS validation records since referencing this attribute directly could produce errors similar to the below:" + }, + { + "old": "Since the `domain_validation_options` attribute changed from a list to a set and sets cannot be indexed in Terraform, the recommendation is to update the configuration to use the more stable resource `for_each` support instead of `count`. Note the slight change in the `validation_record_fqdns` syntax as well.", + "new": "Since the `domain_validation_options` attribute changed from a list to a set and sets cannot be indexed in TODO, the recommendation is to update the configuration to use the more stable resource `for_each` support instead of `count`. Note the slight change in the `validation_record_fqdns` syntax as well." + }, + { + "old": "Switch your Terraform configuration to the `OAuthToken` element in the `action` `configuration` map instead.", + "new": "Switch your TODO configuration to the `OAuthToken` element in the `action` `configuration` map instead." + }, + { + "old": "Switch your Terraform configuration to the `associated_gateway_id` argument instead.", + "new": "Switch your TODO configuration to the `associated_gateway_id` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `core_instance_group` configuration block instead.", + "new": "Switch your TODO configuration to the `core_instance_group` configuration block instead." + }, + { + "old": "Switch your Terraform configuration to the `exclude_names` attribute instead.", + "new": "Switch your TODO configuration to the `exclude_names` attribute instead." + }, + { + "old": "Switch your Terraform configuration to the `exclude_zone_ids` attribute instead.", + "new": "Switch your TODO configuration to the `exclude_zone_ids` attribute instead." + }, + { + "old": "Switch your Terraform configuration to the `master_instance_group` and `core_instance_group` configuration blocks instead. For any task instance groups, use the `aws_emr_instance_group` resource.", + "new": "Switch your TODO configuration to the `master_instance_group` and `core_instance_group` configuration blocks instead. For any task instance groups, use the `aws_emr_instance_group` resource." + }, + { + "old": "Switch your Terraform configuration to the `master_instance_group` configuration block instead.", + "new": "Switch your TODO configuration to the `master_instance_group` configuration block instead." + }, + { + "old": "Switch your Terraform configuration to the `result` attribute with the `jsondecode()` function instead.", + "new": "Switch your TODO configuration to the `result` attribute with the `jsondecode()` function instead." + }, + { + "old": "Switch your Terraform configuration to the `role` argument instead.", + "new": "Switch your TODO configuration to the `role` argument instead." + }, + { + "old": "Switch your Terraform configuration to the `task_invocation_parameters` configuration block `run_command_parameters` configuration block `output_s3_bucket` and `output_s3_key_prefix` arguments instead.", + "new": "Switch your TODO configuration to the `task_invocation_parameters` configuration block `run_command_parameters` configuration block `output_s3_bucket` and `output_s3_key_prefix` arguments instead." + }, + { + "old": "Switch your Terraform configuration to the `task_invocation_parameters` configuration block `run_command_parameters` configuration block `parameter` configuration blocks instead.", + "new": "Switch your TODO configuration to the `task_invocation_parameters` configuration block `run_command_parameters` configuration block `parameter` configuration blocks instead." + }, + { + "old": "Switch your Terraform configuration to use the `host_header` or `path_pattern` configuration block instead.", + "new": "Switch your TODO configuration to use the `host_header` or `path_pattern` configuration block instead." + }, + { + "old": "Terraform will perform the following actions:", + "new": "TODO will perform the following actions:" + }, + { + "old": "The Glue API has deprecated the `allocated_capacity` argument. Switch your Terraform configuration to the `max_capacity` argument instead.", + "new": "The Glue API has deprecated the `allocated_capacity` argument. Switch your TODO configuration to the `max_capacity` argument instead." + }, + { + "old": "The `domain_validation_options` attribute is now a set type and the resource will attempt to populate the information necessary during the planning phase to handle the above situation in most environments without workarounds. This change also prevents Terraform from showing unexpected differences if the API returns the results in varying order.", + "new": "The `domain_validation_options` attribute is now a set type and the resource will attempt to populate the information necessary during the planning phase to handle the above situation in most environments without workarounds. This change also prevents TODO from showing unexpected differences if the API returns the results in varying order." + }, + { + "old": "The `region` attribute is no longer configurable, but it remains as a read-only attribute. The region of the `aws_s3_bucket` resource is determined by the region of the Terraform AWS Provider, similar to all other resources.", + "new": "The `region` attribute is no longer configurable, but it remains as a read-only attribute. The region of the `aws_s3_bucket` resource is determined by the region of the TODO AWS Provider, similar to all other resources." + }, + { + "old": "Version 3.0.0 of the AWS provider for Terraform is a major release and includes some changes that you will need to consider when upgrading. This guide is intended to help with that process and focuses only on changes from version 2.X to version 3.0.0. See the Version 2 Upgrade Guide for information about upgrading from 1.X to version 2.0.0.", + "new": "Version 3.0.0 of the AWS provider for TODO is a major release and includes some changes that you will need to consider when upgrading. This guide is intended to help with that process and focuses only on changes from version 2.X to version 3.0.0. See the Version 2 Upgrade Guide for information about upgrading from 1.X to version 2.0.0." + }, + { + "old": "We recommend using version constraints when configuring Terraform providers. If you are following that recommendation, update the version constraints in your Terraform configuration and run `terraform init` to download the new version.", + "new": "We recommend using version constraints when configuring TODO providers. If you are following that recommendation, update the version constraints in your TODO configuration and run `TODO init` to download the new version." + }, + { + "old": "page_title: \"Terraform AWS Provider Version 3 Upgrade Guide\"", + "new": "page_title: \"TODO AWS Provider Version 3 Upgrade Guide\"" + }, + { + "old": "until apply, so Terraform cannot predict how many instances will be created.", + "new": "until apply, so TODO cannot predict how many instances will be created." + }, + { + "old": "~> **NOTE:** Version 3.0.0 and later of the AWS Provider can only be automatically installed on Terraform 0.12 and later.", + "new": "~> **NOTE:** Version 3.0.0 and later of the AWS Provider can only be automatically installed on TODO 0.12 and later." + } + ], + "website/docs/guides/version-4-upgrade.html.markdown": [ + { + "old": " on terraform_plugin_test.tf line 2, in resource \"aws_elasticache_cluster\" \"example\":", + "new": " on TODO_plugin_test.tf line 2, in resource \"aws_elasticache_cluster\" \"example\":" + }, + { + "old": " source = \"hashicorp/aws\"", + "new": " source = \"TODO/aws\"" + }, + { + "old": " source = \"hashicorp/aws\"", + "new": " source = \"TODO/aws\"" + }, + { + "old": " allowed_origins = [\"https://s3-website-test.hashicorp.com\"]", + "new": " allowed_origins = [\"https://s3-website-test.TODO.com\"]" + }, + { + "old": " Terraform AWS Provider Version 4 Upgrade Guide", + "new": " TODO AWS Provider Version 4 Upgrade Guide" + }, + { + "old": " ```terraform", + "new": " ```TODO" + }, + { + "old": "# Terraform AWS Provider Version 4 Upgrade Guide", + "new": "# TODO AWS Provider Version 4 Upgrade Guide" + }, + { + "old": "% terraform import aws_s3_object.example s3://some-bucket-name/some/key.txt", + "new": "% TODO import aws_s3_object.example s3://some-bucket-name/some/key.txt" + }, + { + "old": "* If migrating from Terraform AWS Provider `v3.70.0` or later and bucket versioning was enabled at one point:", + "new": "* If migrating from TODO AWS Provider `v3.70.0` or later and bucket versioning was enabled at one point:" + }, + { + "old": "* If migrating from Terraform AWS Provider `v3.70.0` or later and bucket versioning was never enabled:", + "new": "* If migrating from TODO AWS Provider `v3.70.0` or later and bucket versioning was never enabled:" + }, + { + "old": "* If migrating from an earlier version of Terraform AWS Provider:", + "new": "* If migrating from an earlier version of TODO AWS Provider:" + }, + { + "old": "* `assume_role.duration` - Assume role duration as a string, _e.g._, `\"1h\"` or `\"1h30s\"`. Terraform AWS Provider v4.0.0 deprecates `assume_role.duration_seconds` and a future version will remove it.", + "new": "* `assume_role.duration` - Assume role duration as a string, _e.g._, `\"1h\"` or `\"1h30s\"`. TODO AWS Provider v4.0.0 deprecates `assume_role.duration_seconds` and a future version will remove it." + }, + { + "old": "* `s3_use_path_style` - Replaces `s3_force_path_style`, which has been deprecated in Terraform AWS Provider v4.0.0 and support will be removed in a future version.", + "new": "* `s3_use_path_style` - Replaces `s3_force_path_style`, which has been deprecated in TODO AWS Provider v4.0.0 and support will be removed in a future version." + }, + { + "old": "* `shared_credentials_files` - List of paths to the shared credentials file. If not set, the default is `[~/.aws/credentials]`. A single value can also be set with the `AWS_SHARED_CREDENTIALS_FILE` environment variable. Replaces `shared_credentials_file`, which has been deprecated in Terraform AWS Provider v4.0.0 and support will be removed in a future version.", + "new": "* `shared_credentials_files` - List of paths to the shared credentials file. If not set, the default is `[~/.aws/credentials]`. A single value can also be set with the `AWS_SHARED_CREDENTIALS_FILE` environment variable. Replaces `shared_credentials_file`, which has been deprecated in TODO AWS Provider v4.0.0 and support will be removed in a future version." + }, + { + "old": "-> Before upgrading to version 4.0.0, upgrade to the most recent 3.X version of the provider and ensure that your environment successfully runs `terraform plan`. You should not see changes you don't expect or deprecation notices.", + "new": "-> Before upgrading to version 4.0.0, upgrade to the most recent 3.X version of the provider and ensure that your environment successfully runs `TODO plan`. You should not see changes you don't expect or deprecation notices." + }, + { + "old": "By default, `terraform destroy` does not delete the default VPC but does remove the resource from Terraform state.", + "new": "By default, `TODO destroy` does not delete the default VPC but does remove the resource from TODO state." + }, + { + "old": "By default, `terraform destroy` does not delete the default subnet but does remove the resource from Terraform state.", + "new": "By default, `TODO destroy` does not delete the default subnet but does remove the resource from TODO state." + }, + { + "old": "Configurations dependent on these arguments should be updated to use the corresponding `aws_s3_bucket_*` resource in order to prevent Terraform from reporting “unconfigurable attribute” errors for read-only arguments. Once updated, it is recommended to import new `aws_s3_bucket_*` resources into Terraform state.", + "new": "Configurations dependent on these arguments should be updated to use the corresponding `aws_s3_bucket_*` resource in order to prevent TODO from reporting “unconfigurable attribute” errors for read-only arguments. Once updated, it is recommended to import new `aws_s3_bucket_*` resources into TODO state." + }, + { + "old": "Depending on the tools available to you, the above configuration can either be directly applied with Terraform or the standalone resource", + "new": "Depending on the tools available to you, the above configuration can either be directly applied with TODO or the standalone resource" + }, + { + "old": "Depending on the version of the Terraform AWS Provider you are migrating from, the interpretation of `versioning.enabled = false`", + "new": "Depending on the version of the TODO AWS Provider you are migrating from, the interpretation of `versioning.enabled = false`" + }, + { + "old": "For this reason, a deprecation notice is printed in the Terraform CLI for each of the parameters when used in a configuration.", + "new": "For this reason, a deprecation notice is printed in the TODO CLI for each of the parameters when used in a configuration." + }, + { + "old": "If no default VPC exists, Terraform creates a new default VPC, which leads to the implicit creation of [other resources](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#default-vpc-components).", + "new": "If no default VPC exists, TODO creates a new default VPC, which leads to the implicit creation of [other resources](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#default-vpc-components)." + }, + { + "old": "If no default subnet exists, Terraform creates a new default subnet.", + "new": "If no default subnet exists, TODO creates a new default subnet." + }, + { + "old": "If you are migrating from an earlier version of the Terraform AWS Provider:", + "new": "If you are migrating from an earlier version of the TODO AWS Provider:" + }, + { + "old": "If you are migrating from the Terraform AWS Provider `v3.70.0` or later:", + "new": "If you are migrating from the TODO AWS Provider `v3.70.0` or later:" + }, + { + "old": "In previous versions of the provider, you could explicitly set `profile` in the `provider`, and if the profile did not correspond to valid credentials, the provider would use credentials from environment variables. Starting in v4.0, the Terraform AWS provider enforces the precedence shown above, similarly to how the AWS SDK and AWS CLI behave.", + "new": "In previous versions of the provider, you could explicitly set `profile` in the `provider`, and if the profile did not correspond to valid credentials, the provider would use credentials from environment variables. Starting in v4.0, the TODO AWS provider enforces the precedence shown above, similarly to how the AWS SDK and AWS CLI behave." + }, + { + "old": "In the event practitioners do not anticipate future modifications to the S3 bucket settings associated with these read-only arguments or drift detection is not needed, these read-only arguments should be removed from `aws_s3_bucket` resource configurations in order to prevent Terraform from reporting “unconfigurable attribute” errors; the states of these arguments will be preserved but are subject to change with modifications made outside Terraform.", + "new": "In the event practitioners do not anticipate future modifications to the S3 bucket settings associated with these read-only arguments or drift detection is not needed, these read-only arguments should be removed from `aws_s3_bucket` resource configurations in order to prevent TODO from reporting “unconfigurable attribute” errors; the states of these arguments will be preserved but are subject to change with modifications made outside TODO." + }, + { + "old": "Once the standalone resources are managed by Terraform, updates and removal can be performed as needed.", + "new": "Once the standalone resources are managed by TODO, updates and removal can be performed as needed." + }, + { + "old": "Previously, when you did not specify either `engine` or `replication_group_id`, Terraform would not prevent you from applying the invalid configuration.", + "new": "Previously, when you did not specify either `engine` or `replication_group_id`, TODO would not prevent you from applying the invalid configuration." + }, + { + "old": "Run `terraform import` on each new resource, _e.g._,", + "new": "Run `TODO import` on each new resource, _e.g._," + }, + { + "old": "Second, the motivation behind this change is that previously, you might set an argument to `\"\"` to explicitly convey it is empty. However, with the introduction of `null` in Terraform 0.12 and to prepare for continuing enhancements that distinguish between unset arguments and those that have a value, including an empty string (`\"\"`), we are moving away from this use of zero values. We ask practitioners to either use `null` instead or remove the arguments that are set to `\"\"`.", + "new": "Second, the motivation behind this change is that previously, you might set an argument to `\"\"` to explicitly convey it is empty. However, with the introduction of `null` in TODO 0.12 and to prepare for continuing enhancements that distinguish between unset arguments and those that have a value, including an empty string (`\"\"`), we are moving away from this use of zero values. We ask practitioners to either use `null` instead or remove the arguments that are set to `\"\"`." + }, + { + "old": "Switch your Terraform configuration from using `actual_engine_version` to use the `engine_version_actual` attribute instead.", + "new": "Switch your TODO configuration from using `actual_engine_version` to use the `engine_version_actual` attribute instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_accelerate_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_accelerate_configuration` resource instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_acl` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_acl` resource instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_cors_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_cors_configuration` resource instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_lifecycle_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_lifecycle_configuration` resource instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_logging` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_logging` resource instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_object_lock_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_object_lock_configuration` resource instead." + }, + { + "old": "Switch your Terraform configuration to the `aws_s3_bucket_policy` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_policy` resource instead." }, { - "old": "The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN. It combines `aws_iam_principal_policy_simulation` with the core Terraform postconditions feature.", - "new": "The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN." - } - ], - "website/docs/d/iam_server_certificate.html.markdown": [ + "old": "Switch your Terraform configuration to the `aws_s3_bucket_replication_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_replication_configuration` resource instead." + }, { - "old": "% terraform import aws_iam_server_certificate.example example", - "new": "% pulumi import aws_iam_server_certificate.example example" + "old": "Switch your Terraform configuration to the `aws_s3_bucket_request_payment_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_request_payment_configuration` resource instead." }, { - "old": "In Terraform v1.5.0 and later, use an `import` block to import an IAM server certificate using `name`. For example:", - "new": "" + "old": "Switch your Terraform configuration to the `aws_s3_bucket_server_side_encryption_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_server_side_encryption_configuration` resource instead." }, { - "old": "Using `terraform import`, import an IAM server certificate using `name`. For example:", - "new": "Using `pulumi import`, import an IAM server certificate using `name`. For example:" - } - ], - "website/docs/d/iam_session_context.markdown": [ + "old": "Switch your Terraform configuration to the `aws_s3_bucket_versioning` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_versioning` resource instead." + }, { - "old": "### Find the Terraform Runner's Source Role", - "new": "### Find the Provider's Source Role" + "old": "Switch your Terraform configuration to the `aws_s3_bucket_website_configuration` resource instead.", + "new": "Switch your TODO configuration to the `aws_s3_bucket_website_configuration` resource instead." }, { - "old": "~> If `arn` is a non-role ARN, Terraform gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, Terraform gives an error if the identified IAM role does not exist.", - "new": "~> If `arn` is a non-role ARN, the provider gives no error and `issuer_arn` will be equal to the `arn` value. For STS assumed-role ARNs, the provider gives an error if the identified IAM role does not exist." - } - ], - "website/docs/d/instances.html.markdown": [ + "old": "Terraform CLI with v4.9.0 of the AWS Provider will report back:", + "new": "TODO CLI with v4.9.0 of the AWS Provider will report back:" + }, { - "old": "**use `terraform_remote_state`" + "old": "Terraform will not pick up on these changes on a subsequent `terraform plan` or `terraform apply`.", + "new": "TODO will not pick up on these changes on a subsequent `TODO plan` or `TODO apply`." }, { - "old": "and remote state and" + "old": "The `aws_default_subnet` resource behaves differently from normal resources in that if a default subnet exists in the specified Availability Zone, Terraform does not _create_ this resource, but instead \"adopts\" it into management.", + "new": "The `aws_default_subnet` resource behaves differently from normal resources in that if a default subnet exists in the specified Availability Zone, TODO does not _create_ this resource, but instead \"adopts\" it into management." }, { - "old": "data source instead** if you manage referenced instances via Terraform." - } - ], - "website/docs/d/kms_ciphertext.html.markdown": [ + "old": "The `aws_default_vpc` resource behaves differently from normal resources in that if a default VPC exists, Terraform does not _create_ this resource, but instead \"adopts\" it into management.", + "new": "The `aws_default_vpc` resource behaves differently from normal resources in that if a default VPC exists, TODO does not _create_ this resource, but instead \"adopts\" it into management." + }, { - "old": "Read more about sensitive data in state.\n" - } - ], - "website/docs/d/kms_secret.html.markdown": [ + "old": "The following error was thrown on `terraform apply`:", + "new": "The following error was thrown on `TODO apply`:" + }, { - "old": "!> **WARNING:** This data source was removed in version 2.0.0 of the Terraform AWS Provider. You can migrate existing configurations to the `aws_kms_secrets` data source following instructions available in the Version 2 Upgrade Guide." - } - ], - "website/docs/d/kms_secrets.html.markdown": [ + "old": "The following plural data sources are now consistent with [Provider Design](https://hashicorp.github.io/TODO-provider-aws/provider-design/#plural-data-sources)", + "new": "The following plural data sources are now consistent with [Provider Design](https://TODO.github.io/TODO-provider-aws/provider-design/#plural-data-sources)" + }, { - "old": "That encrypted output can now be inserted into Terraform configurations without exposing the plaintext secret directly.", - "new": "That encrypted output can now be inserted into provider configurations without exposing the plaintext secret directly." - } - ], - "website/docs/d/lambda_functions.html.markdown": [ + "old": "The following plural data sources are now consistent with [Provider Design](https://hashicorp.github.io/terraform-provider-aws/provider-design/#plural-data-sources)", + "new": "The following plural data sources are now consistent with [Provider Design](https://hashicorp.github.io/TODO-provider-aws/provider-design/#plural-data-sources)" + }, { - "old": " Terraform data resource to get a list of Lambda Functions.", - "new": " Data resource to get a list of Lambda Functions." + "old": "The following sections depict standalone resource adoption per individual parameter. Standalone resource adoption is not required to upgrade but is recommended to ensure drift is detected by Terraform.", + "new": "The following sections depict standalone resource adoption per individual parameter. Standalone resource adoption is not required to upgrade but is recommended to ensure drift is detected by TODO." }, { - "old": "Terraform data resource to get a list of Lambda Functions.", - "new": "Data resource to get a list of Lambda Functions." - } - ], - "website/docs/d/lambda_invocation.html.markdown": [ + "old": "Use version constraints when configuring Terraform providers. If you are following that recommendation, update the version constraints in your Terraform configuration and run `terraform init -upgrade` to download the new version.", + "new": "Use version constraints when configuring TODO providers. If you are following that recommendation, update the version constraints in your TODO configuration and run `TODO init -upgrade` to download the new version." + }, { - "old": "~> **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws_lambda_function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Terraform to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)", - "new": "~> **NOTE:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking an `aws_lambda_function` with environment variables, the IAM role associated with the function may have been deleted and recreated _after_ the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role, or 2) by using Pulumi to `taint` the function and `apply` your configuration again to recreate the function. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.)" - } - ], - "website/docs/d/lb_listener.html.markdown": [ + "old": "Version 4.0.0 of the AWS provider for Terraform is a major release and includes some changes that you will need to consider when upgrading. We intend this guide to help with that process and focus only on changes from version 3.X to version 4.0.0. See the Version 3 Upgrade Guide for information about upgrading from 2.X to version 3.0.0.", + "new": "Version 4.0.0 of the AWS provider for TODO is a major release and includes some changes that you will need to consider when upgrading. We intend this guide to help with that process and focus only on changes from version 3.X to version 4.0.0. See the Version 3 Upgrade Guide for information about upgrading from 2.X to version 3.0.0." + }, { - "old": "\n## Timeouts\n\nConfiguration options:\n\n- `read` - (Default `20m`)" - } - ], - "website/docs/d/networkfirewall_firewall_policy.html.markdown": [ + "old": "We previously marked most of the changes we outline in this guide as deprecated in the Terraform plan/apply output throughout previous provider releases. You can find these changes, including deprecation notices, in the Terraform AWS Provider CHANGELOG.", + "new": "We previously marked most of the changes we outline in this guide as deprecated in the TODO plan/apply output throughout previous provider releases. You can find these changes, including deprecation notices, in the TODO AWS Provider CHANGELOG." + }, { - "old": "[1]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_share" + "old": "We removed the misspelled argument `active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguidshed_name` that we previously deprecated. Use `active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguished_name` now instead. Terraform will automatically migrate the state to `active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguished_name` during planning.", + "new": "We removed the misspelled argument `active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguidshed_name` that we previously deprecated. Use `active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguished_name` now instead. TODO will automatically migrate the state to `active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguished_name` during planning." }, { - "old": "[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/networkfirewall_firewall_policy" - } - ], - "website/docs/d/networkfirewall_resource_policy.html.markdown": [ + "old": "When replacing `aws_s3_bucket_object` with `aws_s3_object` in your configuration, on the next apply, Terraform will recreate the object. If you prefer to not have Terraform recreate the object, import the object using `aws_s3_object`.", + "new": "When replacing `aws_s3_bucket_object` with `aws_s3_object` in your configuration, on the next apply, TODO will recreate the object. If you prefer to not have TODO recreate the object, import the object using `aws_s3_object`." + }, { - "old": "[1]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/networkfirewall_resource_policy" - } - ], - "website/docs/d/networkmanager_core_network_policy_document.html.markdown": [ + "old": "While an upgrade to this major version will not directly impact EC2-Classic resources configured with Terraform,", + "new": "While an upgrade to this major version will not directly impact EC2-Classic resources configured with TODO," + }, { - "old": "-> For more information about building AWS Core Network policy documents with Terraform, see the Using AWS & AWSCC Provider Together Guide" - } - ], - "website/docs/d/partition.html.markdown": [ + "old": "can be imported into Terraform state. Please refer to each standalone resource's _Import_ documentation for the proper syntax.", + "new": "can be imported into TODO state. Please refer to each standalone resource's _Import_ documentation for the proper syntax." + }, { - "old": "which Terraform is working.", - "new": "which the provider is working." - } - ], - "website/docs/d/s3_account_public_access_block.html.markdown": [ + "old": "in that Terraform will only perform drift detection for each of the following parameters if a configuration value is provided:", + "new": "in that TODO will only perform drift detection for each of the following parameters if a configuration value is provided:" + }, { - "old": "* `account_id` - (Optional) AWS account ID to configure. Defaults to automatically determined account ID of the Terraform AWS provider.", - "new": "* `account_id` - (Optional) AWS account ID to configure. Defaults to automatically determined account ID of the AWS provider." - } - ], - "website/docs/d/s3_object.html.markdown": [ + "old": "page_title: \"Terraform AWS Provider Version 4 Upgrade Guide\"", + "new": "page_title: \"TODO AWS Provider Version 4 Upgrade Guide\"" + }, { - "old": "-> **Note:** Terraform ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.", - "new": "-> **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`." - } - ], - "website/docs/d/s3_objects.html.markdown": [ + "old": "terraform {", + "new": "TODO {" + }, { - "old": "The following example retrieves a list of all object keys in an S3 bucket and creates corresponding Terraform object data sources:", - "new": "The following example retrieves a list of all object keys in an S3 bucket and creates corresponding object data sources:" + "old": "your Terraform state and will henceforth be managed by Terraform.", + "new": "your TODO state and will henceforth be managed by TODO." }, { - "old": "~> **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect Terraform's performance.", - "new": "~> **NOTE on `max_keys`:** Retrieving very large numbers of keys can adversely affect the provider's performance." - } - ], - "website/docs/d/s3control_multi_region_access_point.html.markdown": [ + "old": "~> **CAUTION:** We do not recommend modifying the state file manually. If you do, you can make it unusable. However, if you accept that risk, some community members have upgraded to the new resource by searching and replacing `\"type\": \"aws_s3_bucket_object\",` with `\"type\": \"aws_s3_object\",` in the state file, and then running `terraform apply -refresh-only`.", + "new": "~> **CAUTION:** We do not recommend modifying the state file manually. If you do, you can make it unusable. However, if you accept that risk, some community members have upgraded to the new resource by searching and replacing `\"type\": \"aws_s3_bucket_object\",` with `\"type\": \"aws_s3_object\",` in the state file, and then running `TODO apply -refresh-only`." + }, { - "old": "Defaults to automatically determined account ID of the Terraform AWS provider.", - "new": "Defaults to automatically determined account ID of the AWS provider." - } - ], - "website/docs/d/secretsmanager_secret_version.html.markdown": [ + "old": "~> **NOTE:** Using the `AWS_METADATA_URL` environment variable has been deprecated in Terraform AWS Provider v4.0.0 and support will be removed in a future version. Change any scripts or environments using `AWS_METADATA_URL` to instead use `AWS_EC2_METADATA_SERVICE_ENDPOINT`.", + "new": "~> **NOTE:** Using the `AWS_METADATA_URL` environment variable has been deprecated in TODO AWS Provider v4.0.0 and support will be removed in a future version. Change any scripts or environments using `AWS_METADATA_URL` to instead use `AWS_EC2_METADATA_SERVICE_ENDPOINT`." + }, { - "regExp": true, - "regExpFlags": "gi", - "old": "### Handling Key-Value Secret Strings in JSON\n[^#]+" + "old": "~> **NOTE:** When importing into `aws_s3_bucket_acl`, make sure you use the S3 bucket name (_e.g._, `yournamehere` in the example above) as part of the ID, and _not_ the Terraform bucket configuration name (_e.g._, `example` in the example above).", + "new": "~> **NOTE:** When importing into `aws_s3_bucket_acl`, make sure you use the S3 bucket name (_e.g._, `yournamehere` in the example above) as part of the ID, and _not_ the TODO bucket configuration name (_e.g._, `example` in the example above)." } ], - "website/docs/d/ssm_parameter.html.markdown": [ + "website/docs/guides/version-5-upgrade.html.markdown": [ { - "old": "* `value` - Value of the parameter. This value is always marked as sensitive in the Terraform plan output, regardless of `type`. In Terraform CLI version 0.15 and later, this may require additional configuration handling for certain scenarios. For more information, see the Terraform v0.15 Upgrade Guide.", - "new": "* `value` - Value of the parameter. This value is always marked as sensitive in the plan output, regardless of `type`." + "old": " source = \"hashicorp/aws\"", + "new": " source = \"TODO/aws\"" }, { - "old": "~> **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\nRead more about sensitive data in state.\n\n" - } - ], - "website/docs/d/ssm_parameters_by_path.html.markdown": [ + "old": " Terraform AWS Provider Version 5 Upgrade Guide", + "new": " TODO AWS Provider Version 5 Upgrade Guide" + }, { - "old": "~> **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\nRead more about sensitive data in state.\n" - } - ], - "website/docs/d/ssmincidents_replication_set.html.markdown": [ + "old": "# Terraform AWS Provider Version 5 Upgrade Guide", + "new": "# TODO AWS Provider Version 5 Upgrade Guide" + }, { - "old": "Use this Terraform data source to manage a replication set in AWS Systems Manager Incident Manager.", - "new": "Use this data source to manage a replication set in AWS Systems Manager Incident Manager." + "old": "-> Before upgrading to version 5.0.0, upgrade to the most recent 4.X version of the provider and ensure that your environment successfully runs `terraform plan`. You should not see changes you don't expect or deprecation notices.", + "new": "-> Before upgrading to version 5.0.0, upgrade to the most recent 4.X version of the provider and ensure that your environment successfully runs `TODO plan`. You should not see changes you don't expect or deprecation notices." }, { - "old": "~> **NOTE:** The AWS Region specified by a Terraform provider must always be one of the Regions specified for the replication set.", - "new": "~> **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set." - } - ], - "website/docs/d/ssmincidents_response_plan.html.markdown": [ + "old": "Use version constraints when configuring Terraform providers. If you are following that recommendation, update the version constraints in your Terraform configuration and run `terraform init -upgrade` to download the new version.", + "new": "Use version constraints when configuring TODO providers. If you are following that recommendation, update the version constraints in your TODO configuration and run `TODO init -upgrade` to download the new version." + }, { - "old": "Use this Terraform data source to manage a response plan in AWS Systems Manager Incident Manager.", - "new": "Use this data source to manage a response plan in AWS Systems Manager Incident Manager." - } - ], - "website/docs/d/vpc_ipam_preview_next_cidr.html.markdown": [ + "old": "Version 5.0.0 of the AWS provider for Terraform is a major release and includes changes that you need to consider when upgrading. This guide will help with that process and focuses only on changes from version 4.x to version 5.0.0. See the Version 4 Upgrade Guide for information on upgrading from 3.x to version 4.0.0.", + "new": "Version 5.0.0 of the AWS provider for TODO is a major release and includes changes that you need to consider when upgrading. This guide will help with that process and focuses only on changes from version 4.x to version 5.0.0. See the Version 4 Upgrade Guide for information on upgrading from 3.x to version 4.0.0." + }, { - "old": "~> **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use Terraform's lifecycle `ignore_changes` policy if this is undesirable.", - "new": "~> **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use `ignore_changes` if this is undesirable." - } - ], - "website/docs/d/vpc_peering_connections.html.markdown": [ + "old": "page_title: \"Terraform AWS Provider Version 5 Upgrade Guide\"", + "new": "page_title: \"TODO AWS Provider Version 5 Upgrade Guide\"" + }, { - "old": "the data source, as noted in issue 4149", - "new": "the data source." + "old": "terraform {", + "new": "TODO {" } ], "website/docs/r/accessanalyzer_analyzer.html.markdown": [ @@ -483,6 +1379,10 @@ } ], "website/docs/r/api_gateway_api_key.html.markdown": [ + { + "old": "% terraform import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", + "new": "% TODO import aws_api_gateway_api_key.example 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" + }, { "old": "% terraform import aws_api_gateway_api_key.my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "new": "% pulumi import aws_api_gateway_api_key.my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk" @@ -609,6 +1509,20 @@ "new": "Using `pulumi import`, import API Gateway domain names using their `name`. For example:" } ], + "website/docs/r/api_gateway_gateway_response.html.markdown": [ + { + "old": "% terraform import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED", + "new": "% TODO import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:" + }, + { + "old": "Using `terraform import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:", + "new": "Using `TODO import`, import `aws_api_gateway_gateway_response` using `REST-API-ID/RESPONSE-TYPE`. For example:" + } + ], "website/docs/r/api_gateway_gateway_response.markdown": [ { "old": "% terraform import aws_api_gateway_gateway_response.example 12345abcde/UNAUTHORIZED", @@ -2543,6 +3457,20 @@ "new": " name = \"pulumi-example-collaboration\"" } ], + "website/docs/r/cloud9_environment_membership.html.markdown": [ + { + "old": "% terraform import aws_cloud9_environment_membership.test environment-id#user-arn", + "new": "% TODO import aws_cloud9_environment_membership.test environment-id#user-arn" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Cloud9 environment membership using the `environment-id#user-arn`. For example:" + }, + { + "old": "Using `terraform import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example:", + "new": "Using `TODO import`, import Cloud9 environment membership using the `environment-id#user-arn`. For example:" + } + ], "website/docs/r/cloud9_environment_membership.markdown": [ { "old": "% terraform import aws_cloud9_environment_membership.test environment-id#user-arn", @@ -3555,6 +4483,20 @@ "new": "Using `pulumi import`, import CodeDeploy Deployment Groups using `app_name`, a colon, and `deployment_group_name`. For example:" } ], + "website/docs/r/codepipeline.html.markdown": [ + { + "old": "% terraform import aws_codepipeline.foo example", + "new": "% TODO import aws_codepipeline.foo example" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import CodePipelines using the name. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import CodePipelines using the name. For example:" + }, + { + "old": "Using `terraform import`, import CodePipelines using the name. For example:", + "new": "Using `TODO import`, import CodePipelines using the name. For example:" + } + ], "website/docs/r/codepipeline.markdown": [ { "old": "% terraform import aws_codepipeline.foo example", @@ -3591,6 +4533,20 @@ "new": "Using `pulumi import`, import CodeDeploy CustomActionType using the `id`. For example:" } ], + "website/docs/r/codepipeline_webhook.html.markdown": [ + { + "old": "% terraform import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example", + "new": "% TODO import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import CodePipeline Webhooks using their ARN. For example:" + }, + { + "old": "Using `terraform import`, import CodePipeline Webhooks using their ARN. For example:", + "new": "Using `TODO import`, import CodePipeline Webhooks using their ARN. For example:" + } + ], "website/docs/r/codepipeline_webhook.markdown": [ { "old": "% terraform import aws_codepipeline_webhook.example arn:aws:codepipeline:us-west-2:123456789012:webhook:example", @@ -3605,6 +4561,20 @@ "new": "Using `pulumi import`, import CodePipeline Webhooks using their ARN. For example:" } ], + "website/docs/r/codestarconnections_connection.html.markdown": [ + { + "old": "% terraform import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448", + "new": "% TODO import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import CodeStar connections using the ARN. For example:" + }, + { + "old": "Using `terraform import`, import CodeStar connections using the ARN. For example:", + "new": "Using `TODO import`, import CodeStar connections using the ARN. For example:" + } + ], "website/docs/r/codestarconnections_connection.markdown": [ { "old": "% terraform import aws_codestarconnections_connection.test-connection arn:aws:codestar-connections:us-west-1:0123456789:connection/79d4d357-a2ee-41e4-b350-2fe39ae59448", @@ -3619,6 +4589,20 @@ "new": "Using `pulumi import`, import CodeStar connections using the ARN. For example:" } ], + "website/docs/r/codestarconnections_host.html.markdown": [ + { + "old": "% terraform import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448", + "new": "% TODO import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import CodeStar Host using the ARN. For example:" + }, + { + "old": "Using `terraform import`, import CodeStar Host using the ARN. For example:", + "new": "Using `TODO import`, import CodeStar Host using the ARN. For example:" + } + ], "website/docs/r/codestarconnections_host.markdown": [ { "old": "% terraform import aws_codestarconnections_host.example-host arn:aws:codestar-connections:us-west-1:0123456789:host/79d4d357-a2ee-41e4-b350-2fe39ae59448", @@ -3633,6 +4617,20 @@ "new": "Using `pulumi import`, import CodeStar Host using the ARN. For example:" } ], + "website/docs/r/codestarnotifications_notification_rule.html.markdown": [ + { + "old": "% terraform import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b", + "new": "% TODO import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import CodeStar notification rule using the ARN. For example:" + }, + { + "old": "Using `terraform import`, import CodeStar notification rule using the ARN. For example:", + "new": "Using `TODO import`, import CodeStar notification rule using the ARN. For example:" + } + ], "website/docs/r/codestarnotifications_notification_rule.markdown": [ { "old": "% terraform import aws_codestarnotifications_notification_rule.foo arn:aws:codestar-notifications:us-west-1:0123456789:notificationrule/2cdc68a3-8f7c-4893-b6a5-45b362bd4f2b", @@ -3647,6 +4645,20 @@ "new": "Using `pulumi import`, import CodeStar notification rule using the ARN. For example:" } ], + "website/docs/r/cognito_identity_pool.html.markdown": [ + { + "old": "% terraform import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3", + "new": "% TODO import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool using its ID. For example:" + }, + { + "old": "Using `terraform import`, import Cognito Identity Pool using its ID. For example:", + "new": "Using `TODO import`, import Cognito Identity Pool using its ID. For example:" + } + ], "website/docs/r/cognito_identity_pool.markdown": [ { "old": "% terraform import aws_cognito_identity_pool.mypool us-west-2:1a234567-8901-234b-5cde-f6789g01h2i3", @@ -3661,6 +4673,20 @@ "new": "Using `pulumi import`, import Cognito Identity Pool using its ID. For example:" } ], + "website/docs/r/cognito_identity_pool_provider_principal_tag.html.markdown": [ + { + "old": "% terraform import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD", + "new": "% TODO import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:" + }, + { + "old": "Using `terraform import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:", + "new": "Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:" + } + ], "website/docs/r/cognito_identity_pool_provider_principal_tag.markdown": [ { "old": "% terraform import aws_cognito_identity_pool_provider_principal_tag.example us-west-2_abc123:CorpAD", @@ -3671,8 +4697,22 @@ "new": "" }, { - "old": "Using `terraform import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:", - "new": "Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:" + "old": "Using `terraform import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:", + "new": "Using `pulumi import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID and provider name. For example:" + } + ], + "website/docs/r/cognito_identity_pool_roles_attachment.html.markdown": [ + { + "old": "% terraform import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42", + "new": "% TODO import aws_cognito_identity_pool_roles_attachment.example us-west-2:b64805ad-cb56-40ba-9ffc-f5d8207e6d42" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example:" + }, + { + "old": "Using `terraform import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example:", + "new": "Using `TODO import`, import Cognito Identity Pool Roles Attachment using the Identity Pool ID. For example:" } ], "website/docs/r/cognito_identity_pool_roles_attachment.markdown": [ @@ -3789,6 +4829,28 @@ "new": "Using `pulumi import`, import Cognito User Groups using the `user_pool_id`/`name` attributes concatenated. For example:" } ], + "website/docs/r/cognito_user_pool.html.markdown": [ + { + "old": "% terraform import aws_cognito_user_pool.pool us-west-2_abc123", + "new": "% TODO import aws_cognito_user_pool.pool us-west-2_abc123" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Cognito User Pools using the `id`. For example:" + }, + { + "old": "The [standard attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) have the following defaults. Note that attributes which match the default values are not stored in Terraform state when importing.", + "new": "The [standard attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#cognito-user-pools-standard-attributes) have the following defaults. Note that attributes which match the default values are not stored in TODO state when importing." + }, + { + "old": "Using `terraform import`, import Cognito User Pools using the `id`. For example:", + "new": "Using `TODO import`, import Cognito User Pools using the `id`. For example:" + }, + { + "old": "~> **NOTE:** When defining an `attribute_data_type` of `String` or `Number`, the respective attribute constraints configuration block (e.g `string_attribute_constraints` or `number_attribute_constraints`) is **required** to prevent recreation of the Terraform resource. This requirement is true for both standard (e.g., name, email) and custom schema attributes.", + "new": "~> **NOTE:** When defining an `attribute_data_type` of `String` or `Number`, the respective attribute constraints configuration block (e.g `string_attribute_constraints` or `number_attribute_constraints`) is **required** to prevent recreation of the TODO resource. This requirement is true for both standard (e.g., name, email) and custom schema attributes." + } + ], "website/docs/r/cognito_user_pool.markdown": [ { "old": "% terraform import aws_cognito_user_pool.pool us-west-2_abc123", @@ -3881,6 +4943,20 @@ "new": "Using `pulumi import`, import Comprehend Entity Recognizer using the ARN. For example:" } ], + "website/docs/r/config_aggregate_authorization.html.markdown": [ + { + "old": "% terraform import aws_config_aggregate_authorization.example 123456789012:us-east-1", + "new": "% TODO import aws_config_aggregate_authorization.example 123456789012:us-east-1" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Config aggregate authorizations using `account_id:region`. For example:" + }, + { + "old": "Using `terraform import`, import Config aggregate authorizations using `account_id:region`. For example:", + "new": "Using `TODO import`, import Config aggregate authorizations using `account_id:region`. For example:" + } + ], "website/docs/r/config_aggregate_authorization.markdown": [ { "old": "% terraform import aws_config_aggregate_authorization.example 123456789012:us-east-1", @@ -4049,6 +5125,20 @@ "new": "Using `pulumi import`, import Remediation Configurations using the name config_rule_name. For example:" } ], + "website/docs/r/connect_bot_association.html.markdown": [ + { + "old": "% terraform import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2", + "new": "% TODO import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:" + }, + { + "old": "Using `terraform import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:", + "new": "Using `TODO import`, import `aws_connect_bot_association` using the Amazon Connect instance ID, Lex (V1) bot name, and Lex (V1) bot region separated by colons (`:`). For example:" + } + ], "website/docs/r/connect_bot_association.markdown": [ { "old": "% terraform import aws_connect_bot_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111:Example:us-west-2", @@ -4153,6 +5243,20 @@ "new": "Using `pulumi import`, import Amazon Connect Instance Storage Configs using the `instance_id`, `association_id`, and `resource_type` separated by a colon (`:`). For example:" } ], + "website/docs/r/connect_lambda_function_association.html.markdown": [ + { + "old": "% terraform import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example", + "new": "% TODO import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:" + }, + { + "old": "Using `terraform import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:", + "new": "Using `TODO import`, import `aws_connect_lambda_function_association` using the `instance_id` and `function_arn` separated by a comma (`,`). For example:" + } + ], "website/docs/r/connect_lambda_function_association.markdown": [ { "old": "% terraform import aws_connect_lambda_function_association.example aaaaaaaa-bbbb-cccc-dddd-111111111111,arn:aws:lambda:us-west-2:123456789123:function:example", @@ -4672,6 +5776,20 @@ "new": "if omitted, this provider will assign a random, unique identifier. Required if `restore_to_point_in_time` is specified." } ], + "website/docs/r/db_instance_automated_backups_replication.html.markdown": [ + { + "old": "% terraform import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my", + "new": "% TODO import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import RDS instance automated backups replication using the `arn`. For example:" + }, + { + "old": "Using `terraform import`, import RDS instance automated backups replication using the `arn`. For example:", + "new": "Using `TODO import`, import RDS instance automated backups replication using the `arn`. For example:" + } + ], "website/docs/r/db_instance_automated_backups_replication.markdown": [ { "old": "% terraform import aws_db_instance_automated_backups_replication.default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my", @@ -5176,6 +6294,24 @@ "new": "Using `pulumi import`, import the Trust relationship using the directory ID and remote domain name, separated by a `/`. For example:" } ], + "website/docs/r/dlm_lifecycle_policy.html.markdown": [ + { + "old": "% terraform import aws_dlm_lifecycle_policy.example policy-abcdef12345678901", + "new": "% TODO import aws_dlm_lifecycle_policy.example policy-abcdef12345678901" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import DLM lifecycle policies using their policy ID. For example:" + }, + { + "old": "Using `terraform import`, import DLM lifecycle policies using their policy ID. For example:", + "new": "Using `TODO import`, import DLM lifecycle policies using their policy ID. For example:" + }, + { + "old": "~> Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. Terraform is unable to detect this at plan time but it will fail during apply.", + "new": "~> Note: You cannot have overlapping lifecycle policies that share the same `target_tags`. TODO is unable to detect this at plan time but it will fail during apply." + } + ], "website/docs/r/dlm_lifecycle_policy.markdown": [ { "old": "% terraform import aws_dlm_lifecycle_policy.example policy-abcdef12345678901", @@ -7316,6 +8452,20 @@ "new": "Using `pulumi import`, import EMR studio session mappings using `studio-id:identity-type:identity-id`. For example:" } ], + "website/docs/r/emrcontainers_job_template.html.markdown": [ + { + "old": "% terraform import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l", + "new": "% TODO import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import EKS job templates using the `id`. For example:" + }, + { + "old": "Using `terraform import`, import EKS job templates using the `id`. For example:", + "new": "Using `TODO import`, import EKS job templates using the `id`. For example:" + } + ], "website/docs/r/emrcontainers_job_template.markdown": [ { "old": "% terraform import aws_emrcontainers_job_template.example a1b2c3d4e5f6g7h8i9j10k11l", @@ -7330,6 +8480,20 @@ "new": "Using `pulumi import`, import EKS job templates using the `id`. For example:" } ], + "website/docs/r/emrcontainers_virtual_cluster.html.markdown": [ + { + "old": "% terraform import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l", + "new": "% TODO import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import EKS Clusters using the `id`. For example:" + }, + { + "old": "Using `terraform import`, import EKS Clusters using the `id`. For example:", + "new": "Using `TODO import`, import EKS Clusters using the `id`. For example:" + } + ], "website/docs/r/emrcontainers_virtual_cluster.markdown": [ { "old": "% terraform import aws_emrcontainers_virtual_cluster.example a1b2c3d4e5f6g7h8i9j10k11l", @@ -7344,6 +8508,20 @@ "new": "Using `pulumi import`, import EKS Clusters using the `id`. For example:" } ], + "website/docs/r/emrserverless_application.html.markdown": [ + { + "old": "% terraform import aws_emrserverless_application.example id", + "new": "% TODO import aws_emrserverless_application.example id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import EMR Severless applications using the `id`. For example:" + }, + { + "old": "Using `terraform import`, import EMR Severless applications using the `id`. For example:", + "new": "Using `TODO import`, import EMR Severless applications using the `id`. For example:" + } + ], "website/docs/r/emrserverless_application.markdown": [ { "old": "% terraform import aws_emrserverless_application.example id", @@ -7762,6 +8940,20 @@ "new": "Using `pulumi import`, import GameLift Fleets using the ID. For example:" } ], + "website/docs/r/gamelift_game_server_group.html.markdown": [ + { + "old": "% terraform import aws_gamelift_game_server_group.example example", + "new": "% TODO import aws_gamelift_game_server_group.example example" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import GameLift Game Server Group using the `name`. For example:" + }, + { + "old": "Using `terraform import`, import GameLift Game Server Group using the `name`. For example:", + "new": "Using `TODO import`, import GameLift Game Server Group using the `name`. For example:" + } + ], "website/docs/r/gamelift_game_server_group.markdown": [ { "old": "% terraform import aws_gamelift_game_server_group.example example", @@ -8014,6 +9206,20 @@ "new": "Using `pulumi import`, import Glue Data Quality Ruleset using the `name`. For example:" } ], + "website/docs/r/glue_dev_endpoint.html.markdown": [ + { + "old": "% terraform import aws_glue_dev_endpoint.example foo", + "new": "% TODO import aws_glue_dev_endpoint.example foo" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import a Glue Development Endpoint using the `name`. For example:" + }, + { + "old": "Using `terraform import`, import a Glue Development Endpoint using the `name`. For example:", + "new": "Using `TODO import`, import a Glue Development Endpoint using the `name`. For example:" + } + ], "website/docs/r/glue_dev_endpoint.markdown": [ { "old": "% terraform import aws_glue_dev_endpoint.example foo", @@ -8461,6 +9667,20 @@ "new": "Using `pulumi import`, import IAM Group Policies using the `group_name:group_policy_name`. For example:" } ], + "website/docs/r/iam_group_policy_attachment.html.markdown": [ + { + "old": "% terraform import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy", + "new": "% TODO import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import IAM group policy attachments using the group name and policy arn separated by `/`. For example:" + }, + { + "old": "Using `terraform import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example:", + "new": "Using `TODO import`, import IAM group policy attachments using the group name and policy arn separated by `/`. For example:" + } + ], "website/docs/r/iam_group_policy_attachment.markdown": [ { "old": "% terraform import aws_iam_group_policy_attachment.test-attach test-group/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy", @@ -8585,6 +9805,24 @@ "new": "Using `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example:" } ], + "website/docs/r/iam_role_policy_attachment.html.markdown": [ + { + "old": "% terraform import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy", + "new": "% TODO import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import IAM role policy attachments using the role name and policy arn separated by `/`. For example:" + }, + { + "old": "Using `terraform import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:", + "new": "Using `TODO import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example:" + }, + { + "old": "~> **NOTE:** For a given role, this resource is incompatible with using the `aws_iam_role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and Terraform will show a permanent difference.", + "new": "~> **NOTE:** For a given role, this resource is incompatible with using the `aws_iam_role` resource `managed_policy_arns` argument. When using that argument and this resource, both will attempt to manage the role's managed policy attachments and TODO will show a permanent difference." + } + ], "website/docs/r/iam_role_policy_attachment.markdown": [ { "old": "% terraform import aws_iam_role_policy_attachment.test-attach test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy", @@ -8773,6 +10011,20 @@ "new": "Using `pulumi import`, import IAM User Policies using the `user_name:user_policy_name`. For example:" } ], + "website/docs/r/iam_user_policy_attachment.html.markdown": [ + { + "old": "% terraform import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy", + "new": "% TODO import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import IAM user policy attachments using the user name and policy arn separated by `/`. For example:" + }, + { + "old": "Using `terraform import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example:", + "new": "Using `TODO import`, import IAM user policy attachments using the user name and policy arn separated by `/`. For example:" + } + ], "website/docs/r/iam_user_policy_attachment.markdown": [ { "old": "% terraform import aws_iam_user_policy_attachment.test-attach test-user/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy", @@ -10149,6 +11401,20 @@ "new": "Using `pulumi import`, import slot types using their name. For example:" } ], + "website/docs/r/licensemanager_association.html.markdown": [ + { + "old": "% terraform import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef", + "new": "% TODO import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import license configurations using `resource_arn,license_configuration_arn`. For example:" + }, + { + "old": "Using `terraform import`, import license configurations using `resource_arn,license_configuration_arn`. For example:", + "new": "Using `TODO import`, import license configurations using `resource_arn,license_configuration_arn`. For example:" + } + ], "website/docs/r/licensemanager_association.markdown": [ { "old": "% terraform import aws_licensemanager_association.example arn:aws:ec2:eu-west-1:123456789012:image/ami-123456789abcdef01,arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef", @@ -10191,6 +11457,24 @@ "new": "Using `pulumi import`, import `aws_licensemanager_grant_accepter` using the grant arn. For example:" } ], + "website/docs/r/licensemanager_license_configuration.html.markdown": [ + { + "old": "% terraform import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef", + "new": "% TODO import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import license configurations using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import license configurations using the `id`. For example:" + }, + { + "old": "Using `terraform import`, import license configurations using the `id`. For example:", + "new": "Using `TODO import`, import license configurations using the `id`. For example:" + }, + { + "old": "~> **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `terraform taint aws_licensemanager_license_configuration.` to recreate the resource instead.", + "new": "~> **Note:** Removing the `license_count` attribute is not supported by the License Manager API - use `TODO taint aws_licensemanager_license_configuration.` to recreate the resource instead." + } + ], "website/docs/r/licensemanager_license_configuration.markdown": [ { "old": "% terraform import aws_licensemanager_license_configuration.example arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef", @@ -11297,6 +12581,20 @@ "new": "" } ], + "website/docs/r/network_interface.html.markdown": [ + { + "old": "% terraform import aws_network_interface.test eni-e5aa89a3", + "new": "% TODO import aws_network_interface.test eni-e5aa89a3" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Network Interfaces using the `id`. For example:" + }, + { + "old": "Using `terraform import`, import Network Interfaces using the `id`. For example:", + "new": "Using `TODO import`, import Network Interfaces using the `id`. For example:" + } + ], "website/docs/r/network_interface.markdown": [ { "old": "% terraform import aws_network_interface.test eni-e5aa89a3", @@ -12084,6 +13382,20 @@ "new": "Using `pulumi import`, import `aws_organizations_resource_policy` using the resource policy ID. For example:" } ], + "website/docs/r/pinpoint_adm_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_adm_channel.channel application-id", + "new": "% TODO import aws_pinpoint_adm_channel.channel application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint ADM Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint ADM Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint ADM Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_adm_channel.markdown": [ { "old": "% terraform import aws_pinpoint_adm_channel.channel application-id", @@ -12098,6 +13410,20 @@ "new": "Using `pulumi import`, import Pinpoint ADM Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_apns_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_apns_channel.apns application-id", + "new": "% TODO import aws_pinpoint_apns_channel.apns application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint APNs Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint APNs Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_apns_channel.markdown": [ { "old": "% terraform import aws_pinpoint_apns_channel.apns application-id", @@ -12112,6 +13438,20 @@ "new": "Using `pulumi import`, import Pinpoint APNs Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_apns_sandbox_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id", + "new": "% TODO import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs Sandbox Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_apns_sandbox_channel.markdown": [ { "old": "% terraform import aws_pinpoint_apns_sandbox_channel.apns_sandbox application-id", @@ -12126,6 +13466,20 @@ "new": "Using `pulumi import`, import Pinpoint APNs Sandbox Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_apns_voip_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_apns_voip_channel.apns_voip application-id", + "new": "% TODO import aws_pinpoint_apns_voip_channel.apns_voip application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_apns_voip_channel.markdown": [ { "old": "% terraform import aws_pinpoint_apns_voip_channel.apns_voip application-id", @@ -12140,6 +13494,20 @@ "new": "Using `pulumi import`, import Pinpoint APNs VoIP Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_apns_voip_sandbox_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id", + "new": "% TODO import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_apns_voip_sandbox_channel.markdown": [ { "old": "% terraform import aws_pinpoint_apns_voip_sandbox_channel.apns_voip_sandbox application-id", @@ -12154,6 +13522,24 @@ "new": "Using `pulumi import`, import Pinpoint APNs VoIP Sandbox Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_app.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_app.name application-id", + "new": "% TODO import aws_pinpoint_app.name application-id" + }, + { + "old": "* `name` - (Optional) The application name. By default generated by Terraform", + "new": "* `name` - (Optional) The application name. By default generated by TODO" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint App using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint App using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint App using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_app.markdown": [ { "old": "% terraform import aws_pinpoint_app.name application-id", @@ -12168,6 +13554,20 @@ "new": "Using `pulumi import`, import Pinpoint App using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_baidu_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_baidu_channel.channel application-id", + "new": "% TODO import aws_pinpoint_baidu_channel.channel application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint Baidu Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint Baidu Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint Baidu Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_baidu_channel.markdown": [ { "old": "% terraform import aws_pinpoint_baidu_channel.channel application-id", @@ -12182,6 +13582,20 @@ "new": "Using `pulumi import`, import Pinpoint Baidu Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_email_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_email_channel.email application-id", + "new": "% TODO import aws_pinpoint_email_channel.email application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint Email Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint Email Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint Email Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_email_channel.markdown": [ { "old": "% terraform import aws_pinpoint_email_channel.email application-id", @@ -12196,6 +13610,20 @@ "new": "Using `pulumi import`, import Pinpoint Email Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_event_stream.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_event_stream.stream application-id", + "new": "% TODO import aws_pinpoint_event_stream.stream application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint Event Stream using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint Event Stream using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint Event Stream using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_event_stream.markdown": [ { "old": "% terraform import aws_pinpoint_event_stream.stream application-id", @@ -12210,6 +13638,20 @@ "new": "Using `pulumi import`, import Pinpoint Event Stream using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_gcm_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_gcm_channel.gcm application-id", + "new": "% TODO import aws_pinpoint_gcm_channel.gcm application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Pinpoint GCM Channel using the `application-id`. For example:" + }, + { + "old": "Using `terraform import`, import Pinpoint GCM Channel using the `application-id`. For example:", + "new": "Using `TODO import`, import Pinpoint GCM Channel using the `application-id`. For example:" + } + ], "website/docs/r/pinpoint_gcm_channel.markdown": [ { "old": "% terraform import aws_pinpoint_gcm_channel.gcm application-id", @@ -12224,6 +13666,20 @@ "new": "Using `pulumi import`, import Pinpoint GCM Channel using the `application-id`. For example:" } ], + "website/docs/r/pinpoint_sms_channel.html.markdown": [ + { + "old": "% terraform import aws_pinpoint_sms_channel.sms application-id", + "new": "% TODO import aws_pinpoint_sms_channel.sms application-id" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import the Pinpoint SMS Channel using the `application_id`. For example:" + }, + { + "old": "Using `terraform import`, import the Pinpoint SMS Channel using the `application_id`. For example:", + "new": "Using `TODO import`, import the Pinpoint SMS Channel using the `application_id`. For example:" + } + ], "website/docs/r/pinpoint_sms_channel.markdown": [ { "old": "% terraform import aws_pinpoint_sms_channel.sms application-id", @@ -12560,6 +14016,20 @@ "new": "Using `pulumi import`, import QuickSight VPC connection using the AWS account ID and VPC connection ID separated by commas (`,`). For example:" } ], + "website/docs/r/ram_principal_association.html.markdown": [ + { + "old": "% terraform import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012", + "new": "% TODO import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:" + }, + { + "old": "Using `terraform import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:", + "new": "Using `TODO import`, import RAM Principal Associations using their Resource Share ARN and the `principal` separated by a comma. For example:" + } + ], "website/docs/r/ram_principal_association.markdown": [ { "old": "% terraform import aws_ram_principal_association.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12,123456789012", @@ -12588,6 +14058,20 @@ "new": "Using `pulumi import`, import RAM Resource Associations using their Resource Share ARN and Resource ARN separated by a comma. For example:" } ], + "website/docs/r/ram_resource_share.html.markdown": [ + { + "old": "% terraform import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12", + "new": "% TODO import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import resource shares using the `arn` of the resource share. For example:" + }, + { + "old": "Using `terraform import`, import resource shares using the `arn` of the resource share. For example:", + "new": "Using `TODO import`, import resource shares using the `arn` of the resource share. For example:" + } + ], "website/docs/r/ram_resource_share.markdown": [ { "old": "% terraform import aws_ram_resource_share.example arn:aws:ram:eu-west-1:123456789012:resource-share/73da1ab9-b94a-4ba3-8eb4-45917f7f4b12", @@ -12602,6 +14086,24 @@ "new": "Using `pulumi import`, import resource shares using the `arn` of the resource share. For example:" } ], + "website/docs/r/ram_resource_share_accepter.html.markdown": [ + { + "old": "% terraform import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767", + "new": "% TODO import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import resource share accepters using the resource share ARN. For example:" + }, + { + "old": "This configuration provides an example of using multiple Terraform AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws_ram_resource_share` and uses a data source in the _receiver_ account to create a `aws_ram_principal_association` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws_ram_resource_share_accepter`.", + "new": "This configuration provides an example of using multiple TODO AWS providers to configure two different AWS accounts. In the _sender_ account, the configuration creates a `aws_ram_resource_share` and uses a data source in the _receiver_ account to create a `aws_ram_principal_association` resource with the _receiver's_ account ID. In the _receiver_ account, the configuration accepts the invitation to share resources with the `aws_ram_resource_share_accepter`." + }, + { + "old": "Using `terraform import`, import resource share accepters using the resource share ARN. For example:", + "new": "Using `TODO import`, import resource share accepters using the resource share ARN. For example:" + } + ], "website/docs/r/ram_resource_share_accepter.markdown": [ { "old": "% terraform import aws_ram_resource_share_accepter.example arn:aws:ram:us-east-1:123456789012:resource-share/c4b56393-e8d9-89d9-6dc9-883752de4767", @@ -12616,6 +14118,20 @@ "new": "Using `pulumi import`, import resource share accepters using the resource share ARN. For example:" } ], + "website/docs/r/ram_sharing_with_organization.html.markdown": [ + { + "old": "% terraform import aws_ram_sharing_with_organization.example 123456789012", + "new": "% TODO import aws_ram_sharing_with_organization.example 123456789012" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import the resource using the current AWS account ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import the resource using the current AWS account ID. For example:" + }, + { + "old": "Using `terraform import`, import the resource using the current AWS account ID. For example:", + "new": "Using `TODO import`, import the resource using the current AWS account ID. For example:" + } + ], "website/docs/r/ram_sharing_with_organization.markdown": [ { "old": "% terraform import aws_ram_sharing_with_organization.example 123456789012", @@ -12740,6 +14256,24 @@ "new": "attributes that are specific to a single instance in a RDS Cluster," } ], + "website/docs/r/rds_cluster_parameter_group.html.markdown": [ + { + "old": "% terraform import aws_rds_cluster_parameter_group.cluster_pg production-pg-1", + "new": "% TODO import aws_rds_cluster_parameter_group.cluster_pg production-pg-1" + }, + { + "old": "* `description` - (Optional) The description of the DB cluster parameter group. Defaults to \"Managed by Terraform\".", + "new": "* `description` - (Optional) The description of the DB cluster parameter group. Defaults to \"Managed by TODO\"." + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import RDS Cluster Parameter Groups using the `name`. For example:" + }, + { + "old": "Using `terraform import`, import RDS Cluster Parameter Groups using the `name`. For example:", + "new": "Using `TODO import`, import RDS Cluster Parameter Groups using the `name`. For example:" + } + ], "website/docs/r/rds_cluster_parameter_group.markdown": [ { "old": "% terraform import aws_rds_cluster_parameter_group.cluster_pg production-pg-1", @@ -13434,6 +14968,20 @@ "new": "Using `pulumi import`, import Route 53 Resolver endpoints using the Route 53 Resolver endpoint ID. For example:" } ], + "website/docs/r/route53_resolver_firewall_config.html.markdown": [ + { + "old": "% terraform import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95", + "new": "% TODO import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:" + }, + { + "old": "Using `terraform import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:", + "new": "Using `TODO import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:" + } + ], "website/docs/r/route53_resolver_firewall_config.markdown": [ { "old": "% terraform import aws_route53_resolver_firewall_config.example rdsc-be1866ecc1683e95", @@ -13448,6 +14996,20 @@ "new": "Using `pulumi import`, import Route 53 Resolver DNS Firewall configs using the Route 53 Resolver DNS Firewall config ID. For example:" } ], + "website/docs/r/route53_resolver_firewall_domain_list.html.markdown": [ + { + "old": "% terraform import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef", + "new": "% TODO import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:" + }, + { + "old": "Using `terraform import`, import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:", + "new": "Using `TODO import`, import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:" + } + ], "website/docs/r/route53_resolver_firewall_domain_list.markdown": [ { "old": "% terraform import aws_route53_resolver_firewall_domain_list.example rslvr-fdl-0123456789abcdef", @@ -13462,6 +15024,20 @@ "new": "Using `pulumi import`, import Route 53 Resolver DNS Firewall domain lists using the Route 53 Resolver DNS Firewall domain list ID. For example:" } ], + "website/docs/r/route53_resolver_firewall_rule.html.markdown": [ + { + "old": "% terraform import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef", + "new": "% TODO import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:" + }, + { + "old": "Using `terraform import`, import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:", + "new": "Using `TODO import`, import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:" + } + ], "website/docs/r/route53_resolver_firewall_rule.markdown": [ { "old": "% terraform import aws_route53_resolver_firewall_rule.example rslvr-frg-0123456789abcdef:rslvr-fdl-0123456789abcdef", @@ -13476,6 +15052,20 @@ "new": "Using `pulumi import`, import Route 53 Resolver DNS Firewall rules using the Route 53 Resolver DNS Firewall rule group ID and domain list ID separated by ':'. For example:" } ], + "website/docs/r/route53_resolver_firewall_rule_group.html.markdown": [ + { + "old": "% terraform import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef", + "new": "% TODO import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:" + }, + { + "old": "Using `terraform import`, import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:", + "new": "Using `TODO import`, import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:" + } + ], "website/docs/r/route53_resolver_firewall_rule_group.markdown": [ { "old": "% terraform import aws_route53_resolver_firewall_rule_group.example rslvr-frg-0123456789abcdef", @@ -13490,6 +15080,20 @@ "new": "Using `pulumi import`, import Route 53 Resolver DNS Firewall rule groups using the Route 53 Resolver DNS Firewall rule group ID. For example:" } ], + "website/docs/r/route53_resolver_firewall_rule_group_association.html.markdown": [ + { + "old": "% terraform import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef", + "new": "% TODO import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:" + }, + { + "old": "Using `terraform import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:", + "new": "Using `TODO import`, import Route 53 Resolver DNS Firewall rule group associations using the Route 53 Resolver DNS Firewall rule group association ID. For example:" + } + ], "website/docs/r/route53_resolver_firewall_rule_group_association.markdown": [ { "old": "% terraform import aws_route53_resolver_firewall_rule_group_association.example rslvr-frgassoc-0123456789abcdef", @@ -15268,6 +16872,20 @@ "new": "" } ], + "website/docs/r/securityhub_account.html.markdown": [ + { + "old": "% terraform import aws_securityhub_account.example 123456789012", + "new": "% TODO import aws_securityhub_account.example 123456789012" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For example:" + }, + { + "old": "Using `terraform import`, import an existing Security Hub enabled account using the AWS account ID. For example:", + "new": "Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For example:" + } + ], "website/docs/r/securityhub_account.markdown": [ { "old": "% terraform import aws_securityhub_account.example 123456789012", @@ -15296,6 +16914,20 @@ "new": "Using `pulumi import`, import Security Hub custom action using the action target ARN. For example:" } ], + "website/docs/r/securityhub_finding_aggregator.html.markdown": [ + { + "old": "% terraform import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456", + "new": "% TODO import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub finding aggregator using the `arn`. For example:" + }, + { + "old": "Using `terraform import`, import an existing Security Hub finding aggregator using the `arn`. For example:", + "new": "Using `TODO import`, import an existing Security Hub finding aggregator using the `arn`. For example:" + } + ], "website/docs/r/securityhub_finding_aggregator.markdown": [ { "old": "% terraform import aws_securityhub_finding_aggregator.example arn:aws:securityhub:eu-west-1:123456789098:finding-aggregator/abcd1234-abcd-1234-1234-abcdef123456", @@ -15324,6 +16956,20 @@ "new": "Using `pulumi import`, import Security Hub insights using the ARN. For example:" } ], + "website/docs/r/securityhub_invite_accepter.html.markdown": [ + { + "old": "% terraform import aws_securityhub_invite_accepter.example 123456789012", + "new": "% TODO import aws_securityhub_invite_accepter.example 123456789012" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Security Hub invite acceptance using the account ID. For example:" + }, + { + "old": "Using `terraform import`, import Security Hub invite acceptance using the account ID. For example:", + "new": "Using `TODO import`, import Security Hub invite acceptance using the account ID. For example:" + } + ], "website/docs/r/securityhub_invite_accepter.markdown": [ { "old": "% terraform import aws_securityhub_invite_accepter.example 123456789012", @@ -15338,6 +16984,20 @@ "new": "Using `pulumi import`, import Security Hub invite acceptance using the account ID. For example:" } ], + "website/docs/r/securityhub_member.html.markdown": [ + { + "old": "% terraform import aws_securityhub_member.example 123456789012", + "new": "% TODO import aws_securityhub_member.example 123456789012" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Security Hub members using their account ID. For example:" + }, + { + "old": "Using `terraform import`, import Security Hub members using their account ID. For example:", + "new": "Using `TODO import`, import Security Hub members using their account ID. For example:" + } + ], "website/docs/r/securityhub_member.markdown": [ { "old": "% terraform import aws_securityhub_member.example 123456789012", @@ -15366,6 +17026,28 @@ "new": "Using `pulumi import`, import Security Hub Organization Admin Accounts using the AWS account ID. For example:" } ], + "website/docs/r/securityhub_organization_configuration.html.markdown": [ + { + "old": "% terraform import aws_securityhub_organization_configuration.example 123456789012", + "new": "% TODO import aws_securityhub_organization_configuration.example 123456789012" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import an existing Security Hub enabled account using the AWS account ID. For example:" + }, + { + "old": "Using `terraform import`, import an existing Security Hub enabled account using the AWS account ID. For example:", + "new": "Using `TODO import`, import an existing Security Hub enabled account using the AWS account ID. For example:" + }, + { + "old": "~> **NOTE:** This is an advanced Terraform resource. Terraform will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the Terraform configuration.", + "new": "~> **NOTE:** This is an advanced TODO resource. TODO will automatically assume management of the Security Hub Organization Configuration without import and perform no actions on removal from the TODO configuration." + }, + { + "old": "~> **NOTE:** This resource requires an `aws_securityhub_organization_admin_account` to be configured (not necessarily with Terraform). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation", + "new": "~> **NOTE:** This resource requires an `aws_securityhub_organization_admin_account` to be configured (not necessarily with TODO). More information about managing Security Hub in an organization can be found in the [Managing administrator and member accounts](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html) documentation" + } + ], "website/docs/r/securityhub_organization_configuration.markdown": [ { "old": "% terraform import aws_securityhub_organization_configuration.example 123456789012", @@ -15380,6 +17062,20 @@ "new": "Using `pulumi import`, import an existing Security Hub enabled account using the AWS account ID. For example:" } ], + "website/docs/r/securityhub_product_subscription.html.markdown": [ + { + "old": "% terraform import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement", + "new": "% TODO import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Security Hub product subscriptions using `product_arn,arn`. For example:" + }, + { + "old": "Using `terraform import`, import Security Hub product subscriptions using `product_arn,arn`. For example:", + "new": "Using `TODO import`, import Security Hub product subscriptions using `product_arn,arn`. For example:" + } + ], "website/docs/r/securityhub_product_subscription.markdown": [ { "old": "% terraform import aws_securityhub_product_subscription.example arn:aws:securityhub:eu-west-1:733251395267:product/alertlogic/althreatmanagement,arn:aws:securityhub:eu-west-1:123456789012:product-subscription/alertlogic/althreatmanagement", @@ -15394,6 +17090,16 @@ "new": "Using `pulumi import`, import Security Hub product subscriptions using `product_arn,arn`. For example:" } ], + "website/docs/r/securityhub_standards_control.html.markdown": [ + { + "old": "Terraform does not _create_ this resource, but instead \"adopts\" it", + "new": "TODO does not _create_ this resource, but instead \"adopts\" it" + }, + { + "old": "into management. When you _delete_ this resource configuration, Terraform \"abandons\" resource as is and just removes it from the state.", + "new": "into management. When you _delete_ this resource configuration, TODO \"abandons\" resource as is and just removes it from the state." + } + ], "website/docs/r/securityhub_standards_control.markdown": [ { "old": "Terraform does not _create_ this resource, but instead \"adopts\" it", @@ -15404,6 +17110,28 @@ "new": "into management. When you _delete_ this resource configuration, the provider \"abandons\" resource as is and just removes it from the state." } ], + "website/docs/r/securityhub_standards_subscription.html.markdown": [ + { + "old": "% terraform import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0", + "new": "% TODO import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0" + }, + { + "old": "% terraform import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0", + "new": "% TODO import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0" + }, + { + "old": "% terraform import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1", + "new": "% TODO import aws_securityhub_standards_subscription.pci_321 arn:aws:securityhub:eu-west-1:123456789012:subscription/pci-dss/v/3.2.1" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Security Hub standards subscriptions using the standards subscription ARN. For example:" + }, + { + "old": "Using `terraform import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:", + "new": "Using `TODO import`, import Security Hub standards subscriptions using the standards subscription ARN. For example:" + } + ], "website/docs/r/securityhub_standards_subscription.markdown": [ { "old": "% terraform import aws_securityhub_standards_subscription.cis arn:aws:securityhub:eu-west-1:123456789012:subscription/cis-aws-foundations-benchmark/v/1.2.0", @@ -15579,10 +17307,18 @@ "old": "% terraform import aws_servicecatalog_principal_portfolio_association.example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f", "new": "% pulumi import aws_servicecatalog_principal_portfolio_association.example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f" }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:" + }, { "old": "In Terraform v1.5.0 and later, use an `import` block to import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example:", "new": "" }, + { + "old": "Using `terraform import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:", + "new": "Using `TODO import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example:" + }, { "old": "Using `terraform import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example:", "new": "Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using the accept language, principal ARN, and portfolio ID, separated by a comma. For example:" @@ -15802,6 +17538,20 @@ "new": "Using `pulumi import`, import SES event destinations using `configuration_set_name` together with the event destination's `name`. For example:" } ], + "website/docs/r/ses_identity_notification_topic.html.markdown": [ + { + "old": "% terraform import aws_ses_identity_notification_topic.test 'example.com|Bounce'", + "new": "% TODO import aws_ses_identity_notification_topic.test 'example.com|Bounce'" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:" + }, + { + "old": "Using `terraform import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:", + "new": "Using `TODO import`, import Identity Notification Topics using the ID of the record. The ID is made up as `IDENTITY|TYPE` where `IDENTITY` is the SES Identity and `TYPE` is the Notification Type. For example:" + } + ], "website/docs/r/ses_identity_notification_topic.markdown": [ { "old": "% terraform import aws_ses_identity_notification_topic.test 'example.com|Bounce'", @@ -17160,6 +18910,20 @@ "new": "Using `pulumi import`, import Transfer Workflows using the `worflow_id`. For example:" } ], + "website/docs/r/verifiedaccess_trust_provider.html.markdown": [ + { + "old": "% terraform import aws_verifiedaccess_trust_provider.example vatp-8012925589", + "new": "% TODO import aws_verifiedaccess_trust_provider.example vatp-8012925589" + }, + { + "old": "In Terraform v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For example:", + "new": "In TODO v1.5.0 and later, use an `import` block to import Transfer Workflows using the `id`. For example:" + }, + { + "old": "Using `terraform import`, import Transfer Workflows using the `id`. For example:", + "new": "Using `TODO import`, import Transfer Workflows using the `id`. For example:" + } + ], "website/docs/r/volume_attachment.html.markdown": [ { "old": "% terraform import aws_volume_attachment.example /dev/sdh:vol-049df61146c4d7901:i-12345678",